29 #ifndef _SYNTHESIS_POINTING_DIRECTION_CALCULATOR_H_
30 #define _SYNTHESIS_POINTING_DIRECTION_CALCULATOR_H_
129 class SplineInterpolation;
379 casacore::vector<std::unique_ptr<casa::SplineInterpolation> >
splineObj_;
casacore::MDirection::Types directionType_
void setFrame(casacore::String const frameType)
Set output direction reference frame.
void unsetMovingSource()
Clear the moving source setting.
casa::SplineInterpolation * currSpline_
Current Spline Object (become active with specified Direction Column)
A Measure: astronomical direction.
bool checkColumn(casacore::MeasurementSet const &ms, casacore::String const &columnName)
check specified Column when creating Spline-Object.
casacore::uInt pointingTableIndexCache_
A 1-D Specialization of the Array class.
Memory layout is "row major".
A Measure: position on Earth.
casacore::Vector< casacore::Vector< bool > > tmp_timegap
SplineInterpolation()
default constructor
casacore::ScalarColumn< casacore::Int > antennaColumn_
PtColID accessorId_
Accessor ID (See typedef above.)
casacore::Vector< casacore::Vector< casacore::Vector< casacore::Double > > > tmp_dir
casa::SplineInterpolation * getCurrentSplineObj()
Current Spline-Object handle.
casacore::MPosition antennaPosition_
conversion stuff
casacore::Vector< bool > initializeReady_
Internal conditions to check limitted service.
casacore::CountedPtr< casacore::MDirection::Convert > movingSourceConvert_
~PointingDirectionCalculator()
Destructor.
bool initializeSplinefromPointingColumn(casacore::MeasurementSet const &ms, PtColID colNo)
Initialize Coefficient table.
casacore::CountedPtr< casacore::MDirection::Convert > directionConvert_
void initPointingTable(casacore::Int const antennaId)
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Container for Measure frame.
A class to provide easy read-write access to MSPointing columns.
void configureMovingSourceCorrection()
casacore::MDirection const & getMovingSourceDirection()
Return an information on the moving source as a MDirection instance.
casacore::String directionColumnName_
casacore::Int lastAntennaIndex_
casacore::Vector< casacore::Double > calculate(casacore::uInt row, casacore::Double dt, casacore::uInt AntennaID=0)
Calculating Function //.
casacore::ScalarMeasColumn< casacore::MEpoch > timeColumn_
A Measure: instant in time.
casacore::Vector< casacore::Vector< casacore::Double > > tmp_time
void dumpCsvCoeff()
Coeff debug in csv.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
Memory layout is "column major".
casacore::Matrix< casacore::Double > getDirection()
Return pointing direction matrix.
void init(casacore::MeasurementSet const &ms, PointingDirectionCalculator::ACCESSOR const my_accessor)
constructor sub.
casacore::MDirection(* accessor_)(casacore::MSPointingColumns &pointingColumns, casacore::uInt rownr)
void selectData(casacore::String const &antenna="", casacore::String const &spw="", casacore::String const &field="", casacore::String const &time="", casacore::String const &scan="", casacore::String const &feed="", casacore::String const &intent="", casacore::String const &observation="", casacore::String const &uvrange="", casacore::String const &msselect="")
Select data in the given MS.
void setMovingSource(casacore::String const sourceName)
casacore::CountedPtr< casacore::MeasurementSet > originalMS_
table access stuff
bool stsCofficientReady
Interal Staus (one Spline status)//.
enum casa::PointingDirectionCalculator::DC_ PtColID
casacore::ScalarColumn< casacore::Double > intervalColumn_
casacore::Vector< casacore::uInt > getRowId()
Return a list of row ids for selected rows.
casacore::MDirection::Types const & getDirectionType()
Return direction type as a MDirection::Types enum.
casacore::uInt numAntennaBoundary_
casacore::CountedPtr< casacore::MSPointingColumns > pointingColumns_
casacore::CountedPtr< casacore::MDirection > movingSource_
void(* movingSourceCorrection_)(casacore::CountedPtr< casacore::MDirection::Convert > &convertToAzel, casacore::CountedPtr< casacore::MDirection::Convert > &convertToCelestial, casacore::Vector< casacore::Double > &direction)
casacore::Vector< casacore::Double > doGetDirection(casacore::uInt irow)
MatrixShape
Enumerations for memory layout of the output pointing direction array.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
casacore::CountedPtr< casacore::MeasurementSet > selectedMS_
A Table intended to hold astronomical data (a set of Measurements).
casacore::Vector< casacore::uInt > getRowIdForOriginalMS()
CAS-8418 Spline Interpolation Class
casacore::Double lastTimeStamp_
casacore::Vector< casacore::Vector< casacore::Vector< casacore::Vector< casacore::Double > > > > COEFF
Coefficient table typedef //.
casacore::Vector< casacore::Double > pointingTimeUTC_
void setSplineInterpolation(bool mode)
casacore::vector< std::unique_ptr< casa::SplineInterpolation > > splineObj_
Spline Object for each Direction-Column.
casacore::uInt getNrowForSelectedMS()
Return number of rows for selected MS.
void setDirectionListMatrixShape(PointingDirectionCalculator::MatrixShape const shape)
Set output direction matrix shape.
casacore::Vector< casacore::Vector< casacore::Double > > tmp_dtime
casacore::Vector< bool > coefficientReady_
PtColID getCurretAccessorId()
Curret Direction column (=accessor in this source) (for UT)
void setDirectionColumn(casacore::String const &columnName="DIRECTION")
Select which POINTING column to use for pointing direction calculation.
void resetAntennaPosition(casacore::Int const antennaId)
casacore::MEpoch referenceEpoch_
String: the storage and methods of handling collections of characters.
PointingDirectionCalculator()
privatize default constructor
bool isTimeGap(casacore::uInt ant, casacore::uInt index)
CAS-8418 Time Gap.
bool isCoefficientReady()
Spline-Obj coefficient status //.
casacore::MDirection(* ACCESSOR)(casacore::MSPointingColumns &pointingColumns, casacore::uInt rownr)
CAS-8418: typedef of accessor_ and Direction column types.
void resetTime(casacore::Double const timestamp)
casacore::CountedPtr< casacore::MSPointing > pointingTable_
COEFF getCoeff()
Programmers API:: for Coefficient Table access //.
COEFF coeff_
Coefficient (set up by SDPosInterpolator)
casacore::MeasFrame referenceFrame_
casacore::Vector< casacore::uInt > antennaBoundary_
other
bool isCoefficientReady()
Exporting COEFF table.
casacore::Vector< casacore::Vector< casacore::Vector< casacore::Vector< casacore::Double > > > > COEFF
bool useSplineInterpolation_
PointingDirectionCalculator::MatrixShape shape_