casa
5.7.0-16
|
#include <PointingDirectionCalculator.h>
Public Types | |
enum | DC_ { DIRECTION, TARGET, POINTING_OFFSET, SOURCE_OFFSET, ENCODER, nItems } |
enum | MatrixShape { COLUMN_MAJOR, ROW_MAJOR } |
Enumerations for memory layout of the output pointing direction array. More... | |
typedef casacore::MDirection(* | ACCESSOR )(casacore::MSPointingColumns &pointingColumns, casacore::uInt rownr) |
| |
typedef enum casa::PointingDirectionCalculator::DC_ | PtColID |
typedef casacore::Vector < casacore::Vector < casacore::Vector < casacore::Vector < casacore::Double > > > > | COEFF |
Public Member Functions | |
PointingDirectionCalculator (casacore::MeasurementSet const &ms) | |
| |
~PointingDirectionCalculator () | |
Destructor. More... | |
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. More... | |
void | setDirectionColumn (casacore::String const &columnName="DIRECTION") |
| |
void | setFrame (casacore::String const frameType) |
| |
void | setDirectionListMatrixShape (PointingDirectionCalculator::MatrixShape const shape) |
| |
void | setMovingSource (casacore::String const sourceName) |
void | setMovingSource (casacore::MDirection const &sourceDirection) |
void | unsetMovingSource () |
| |
casacore::uInt | getNrowForSelectedMS () |
| |
casacore::MDirection::Types const & | getDirectionType () |
| |
casacore::MDirection const & | getMovingSourceDirection () |
| |
casacore::Matrix < casacore::Double > | getDirection () |
| |
casacore::Vector < casacore::Double > | getDirection (casacore::uInt irow) |
| |
casacore::Vector< casacore::uInt > | getRowId () |
Return a list of row ids for selected rows. More... | |
casacore::Vector< casacore::uInt > | getRowIdForOriginalMS () |
casacore::uInt | getRowId (casacore::uInt irow) |
| |
void | setSplineInterpolation (bool mode) |
PtColID | getCurretAccessorId () |
Curret Direction column (=accessor in this source) (for UT) More... | |
bool | isCoefficientReady () |
Exporting COEFF table. More... | |
COEFF | exportCoeff () |
Private Member Functions | |
void | init () |
void | initPointingTable (casacore::Int const antennaId) |
void | resetAntennaPosition (casacore::Int const antennaId) |
void | resetTime (casacore::Double const timestamp) |
void | inspectAntenna () |
void | configureMovingSourceCorrection () |
casacore::Vector < casacore::Double > | doGetDirection (casacore::uInt irow) |
casacore::Vector < casacore::Double > | doGetDirection (casacore::uInt irow, casacore::uInt antID) |
PointingDirectionCalculator () | |
privatize default constructor More... | |
bool | checkColumn (casacore::MeasurementSet const &ms, casacore::String const &columnName) |
check specified Column when creating Spline-Object. More... | |
bool | initializeSplinefromPointingColumn (casacore::MeasurementSet const &ms, PtColID colNo) |
Initialize Coefficient table. More... | |
casa::SplineInterpolation * | getCurrentSplineObj () |
Current Spline-Object handle. More... | |
Definition at line 131 of file PointingDirectionCalculator.h.
typedef casacore::MDirection(* casa::PointingDirectionCalculator::ACCESSOR)(casacore::MSPointingColumns &pointingColumns, casacore::uInt rownr) |
Definition at line 138 of file PointingDirectionCalculator.h.
typedef casacore::Vector<casacore::Vector<casacore::Vector<casacore::Vector<casacore::Double> > > > casa::PointingDirectionCalculator::COEFF |
Definition at line 144 of file PointingDirectionCalculator.h.
Enumerator | |
---|---|
DIRECTION | |
TARGET | |
POINTING_OFFSET | |
SOURCE_OFFSET | |
ENCODER | |
nItems |
Definition at line 140 of file PointingDirectionCalculator.h.
Enumerations for memory layout of the output pointing direction array.
User should select the layout according to an usercase of this class.
Enumerator | |
---|---|
COLUMN_MAJOR |
Memory layout is "column major". |
ROW_MAJOR |
Memory layout is "row major". |
Definition at line 148 of file PointingDirectionCalculator.h.
casa::PointingDirectionCalculator::PointingDirectionCalculator | ( | casacore::MeasurementSet const & | ms | ) |
casa::PointingDirectionCalculator::~PointingDirectionCalculator | ( | ) |
Destructor.
|
private |
privatize default constructor
|
private |
check specified Column when creating Spline-Object.
|
private |
|
private |
|
private |
COEFF casa::PointingDirectionCalculator::exportCoeff | ( | ) |
|
inlineprivate |
Current Spline-Object handle.
(only available SplineInterpolation class)
Definition at line 397 of file PointingDirectionCalculator.h.
References currSpline_.
|
inline |
Curret Direction column (=accessor in this source) (for UT)
Definition at line 306 of file PointingDirectionCalculator.h.
References accessorId_.
casacore::Matrix<casacore::Double> casa::PointingDirectionCalculator::getDirection | ( | ) |
Its shape depends on the user set the shape to "ROW_MAJOR" or "COLUMN_MAJOR". Returned directions are interpolated to timestamps recorded in the selected MS, and are converted to desired direction reference frame if necessary.
casacore::Vector<casacore::Double> casa::PointingDirectionCalculator::getDirection | ( | casacore::uInt | irow | ) |
If irow is larger than or equal to the number of rows for selected MS, exception will be thrown.
|
inline |
Definition at line 252 of file PointingDirectionCalculator.h.
References directionType_.
|
inline |
Definition at line 259 of file PointingDirectionCalculator.h.
References movingSource_.
|
inline |
Definition at line 245 of file PointingDirectionCalculator.h.
References selectedMS_.
casacore::Vector<casacore::uInt> casa::PointingDirectionCalculator::getRowId | ( | ) |
Return a list of row ids for selected rows.
The getRowId will return the ids in selected MS. On the other hand, the getRowIdForOriginalMS will return the ids in original MS.
casacore::uInt casa::PointingDirectionCalculator::getRowId | ( | casacore::uInt | irow | ) |
If irow is larger than or equal to the number of rows for selected MS, exception will be thrown.
casacore::Vector<casacore::uInt> casa::PointingDirectionCalculator::getRowIdForOriginalMS | ( | ) |
|
private |
|
private |
Initialize Coefficient table.
|
private |
|
private |
bool casa::PointingDirectionCalculator::isCoefficientReady | ( | ) |
Exporting COEFF table.
//
|
private |
|
private |
void casa::PointingDirectionCalculator::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.
Each selection parameters accept MS data selection syntax.
void casa::PointingDirectionCalculator::setDirectionColumn | ( | casacore::String const & | columnName = "DIRECTION" | ) |
Possible values are "DIRECTION" (default), "TARGET", "POINTING_OFFSET", "SOURCE_OFFSET", and "ENCODER". These values are all case-sensitive.
CAS-8418 Update Spline-Interpolation initialization is inserted for each POINTING Column. Once this is done, the object will be reused.
void casa::PointingDirectionCalculator::setDirectionListMatrixShape | ( | PointingDirectionCalculator::MatrixShape const | shape | ) |
If "ROW_MAJOR" is given, the shape will be (2, nrow) where nrow is a number of selected rows in MS. If "COLUMN_MAJOR" is set, the shape will be (nrow, 2). User can choose appropriate shape according to the access pattern for the output direction matrix.
void casa::PointingDirectionCalculator::setFrame | ( | casacore::String const | frameType | ) |
This accepts reference strings which MDirection can recognize. If given string is invalid, the frame will be set to "J2000".
void casa::PointingDirectionCalculator::setMovingSource | ( | casacore::String const | sourceName | ) |
Set source name for the moving source. The method accepts source names which MDirection can recognize (e.g. "Moon", "Jupiter"). If given string is invalid, exception will be thrown. User can specify the moving source using a string or the MDirection instance.
void casa::PointingDirectionCalculator::setMovingSource | ( | casacore::MDirection const & | sourceDirection | ) |
|
inline |
Definition at line 302 of file PointingDirectionCalculator.h.
References useSplineInterpolation_.
void casa::PointingDirectionCalculator::unsetMovingSource | ( | ) |
|
private |
Definition at line 336 of file PointingDirectionCalculator.h.
|
private |
Accessor ID (See typedef above.)
Definition at line 386 of file PointingDirectionCalculator.h.
Referenced by getCurretAccessorId().
|
private |
other
Definition at line 355 of file PointingDirectionCalculator.h.
|
private |
Definition at line 333 of file PointingDirectionCalculator.h.
|
private |
conversion stuff
Definition at line 340 of file PointingDirectionCalculator.h.
|
private |
Definition at line 383 of file PointingDirectionCalculator.h.
|
private |
Current Spline Object (become active with specified Direction Column)
Definition at line 376 of file PointingDirectionCalculator.h.
Referenced by getCurrentSplineObj().
|
private |
Definition at line 334 of file PointingDirectionCalculator.h.
|
private |
Definition at line 343 of file PointingDirectionCalculator.h.
|
private |
Definition at line 344 of file PointingDirectionCalculator.h.
Referenced by getDirectionType().
|
private |
Internal conditions to check limitted service.
Definition at line 382 of file PointingDirectionCalculator.h.
|
private |
Definition at line 332 of file PointingDirectionCalculator.h.
|
private |
Definition at line 359 of file PointingDirectionCalculator.h.
|
private |
Definition at line 358 of file PointingDirectionCalculator.h.
|
private |
Definition at line 345 of file PointingDirectionCalculator.h.
Referenced by getMovingSourceDirection().
|
private |
Definition at line 346 of file PointingDirectionCalculator.h.
|
private |
Definition at line 348 of file PointingDirectionCalculator.h.
|
private |
Definition at line 356 of file PointingDirectionCalculator.h.
|
private |
table access stuff
Definition at line 327 of file PointingDirectionCalculator.h.
|
private |
Definition at line 330 of file PointingDirectionCalculator.h.
|
private |
Definition at line 329 of file PointingDirectionCalculator.h.
|
private |
Definition at line 360 of file PointingDirectionCalculator.h.
|
private |
Definition at line 357 of file PointingDirectionCalculator.h.
|
private |
Definition at line 341 of file PointingDirectionCalculator.h.
|
private |
Definition at line 342 of file PointingDirectionCalculator.h.
|
private |
Definition at line 328 of file PointingDirectionCalculator.h.
Referenced by getNrowForSelectedMS().
|
private |
Definition at line 361 of file PointingDirectionCalculator.h.
|
private |
Spline Object for each Direction-Column.
Definition at line 379 of file PointingDirectionCalculator.h.
|
private |
Definition at line 331 of file PointingDirectionCalculator.h.
|
private |
Definition at line 373 of file PointingDirectionCalculator.h.
Referenced by setSplineInterpolation().