26#ifndef DERIVEDMSCAL_MSCALENGINE_H
27#define DERIVEDMSCAL_MSCALENGINE_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/Tables/Table.h>
32#include <casacore/tables/Tables/ScalarColumn.h>
33#include <casacore/measures/Measures/MDirection.h>
34#include <casacore/measures/Measures/MPosition.h>
35#include <casacore/measures/Measures/MEpoch.h>
36#include <casacore/measures/Measures/MBaseline.h>
37#include <casacore/measures/Measures/MeasConvert.h>
38#include <casacore/measures/TableMeasures/ScalarMeasColumn.h>
39#include <casacore/casa/vector.h>
40#include <casacore/casa/stdmap.h>
MeasConvert< MBaseline > Convert
Measure Convert (i.e.
MeasConvert< MDirection > Convert
Measure Convert (i.e.
MeasConvert< MEpoch > Convert
Measure Convert (i.e.
void setTable(const Table &)
Use the given table (MS or CalTable) in the engine.
void fillCalDesc()
Fill the CalDesc info for calibration tables.
vector< vector< Vector< double > > > itsAntUvw
double getLAST(Int antnr, rownr_t rownr)
Get the local sidereal time for the given row.
vector< Block< bool > > itsUvwFilled
void setDirColName(const String &colName)
Set the direction column name to use in the FIELD table.
MDirection itsLastDirJ2000
MEpoch::Convert itsUTCToLAST
MDirection::Convert itsRADecToItrf
ScalarColumn< Int > itsFeedCol[2]
Vector< double > itsArrayItrf
vector< vector< MDirection > > itsFieldDir
ScalarColumn< Int > itsCalCol
MBaseline::Convert itsBLToJ2000
ScalarColumn< Int > itsAntCol[2]
MSCalEngine(const MSCalEngine &that)
Copy constructor cannot be used.
ScalarColumn< Double > itsTimeCol
void fillFieldDir(Int calDescId, Int calInx)
Fill or update the field directions from the FIELD subtable at row calDescId.
vector< vector< MPosition > > itsAntPos
void fillAntPos(Int calDescId, Int calInx)
Fill or update the antenna positions from the ANTENNA subtable at row calDescId.
void getHaDec(Int antnr, rownr_t rownr, Array< Double > &)
Get the hourangle/DEC for the given row.
double getDelay(Int antnr, rownr_t rownr)
Get the delay for the given row.
void setDirection(const MDirection &)
Set the direction to be used instead of a direction from the FIELD table.
void getItrf(Int antnr, rownr_t rownr, Array< Double > &)
Get the ITRF coordinates for the given row.
vector< vector< Int > > itsMount
void getAzEl(Int antnr, rownr_t rownr, Array< Double > &)
Get the azimuth/elevation for the given row.
MDirection::Convert itsRADecToAzEl
map< std::string, int > itsCalMap
~MSCalEngine()
Destructor.
MDirection::Convert itsDirToJ2000
MSCalEngine()
Default constructor.
void getNewUVW(Bool asApp, rownr_t rownr, Array< Double > &)
Get the UVW in J2000 or APP for the given row.
void init()
Initialize the column objects, etc.
ScalarColumn< Int > itsFieldCol
Int setData(Int antnr, rownr_t rownr, Bool fillAnt=False)
Set the data in the measure converter machines.
vector< Int > itsCalIdMap
MDirection::Convert itsPoleToAzEl
MSCalEngine & operator=(const MSCalEngine &that)
Assignment cannot be used.
MDirection::Convert itsRADecToHADec
double getPA(Int antnr, rownr_t rownr)
Get the parallatic angle for the given row.
Table getSubTable(Int calDescId, const String &subTabName, Bool mustExist=True)
Get a calibration MS subtable for the given id.
Table getTable() const
Get the table used.
ScalarMeasColumn< MEpoch > itsTimeMeasCol
double getHA(Int antnr, rownr_t rownr)
Get the hourangle for the given row.
vector< vector< MBaseline > > itsAntMB
String: the storage and methods of handling collections of characters.
For temporary backward namespace compatibility, use casa as alias for casacore.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.