casa
$Rev:20696$
|
GBTMSPointingFiller fills the MSPointing table for GBT fillers. More...
#include <GBTMSPointingFiller.h>
Public Member Functions | |
GBTMSPointingFiller () | |
The default ctor. | |
GBTMSPointingFiller (MSPointing &msPointing) | |
A filler attached to an MSPointing table. | |
~GBTMSPointingFiller () | |
void | attach (MSPointing &msPointing) |
attach it to an MSPointing | |
void | setAntennaDAPFiller (GBTAntennaDAPFiller *antennaDAPFiller) |
Use the indicated antenna DAP filler to get the antenna positions from. | |
void | setAntennaFile (GBTAntennaFile *antennaFile) |
Use the indicated antenna file to get the antenna positions. | |
void | fill (MeasurementSet &ms, Int antennaId, const Vector< Double > ×, Double interval) |
fill using the indicated sourceId and using the times to get the appropriate antenna positions at those times to be stored in the MSPointing table. | |
const Vector< Int > & | pointingId () const |
this is the row numbers of the most recently "filled" MSPointing row it returns an empty vector if nothing has been filled yet | |
void | flush () |
flush the underlying MS subtable and the model and focus fillers | |
Private Member Functions | |
void | init (MSPointing &msPointing) |
initialize the above for the first time | |
GBTMSPointingFiller (const GBTMSPointingFiller &other) | |
undefined and unavailable | |
void | operator= (const GBTMSPointingFiller &other) |
Private Attributes | |
MSPointing * | msPointing_p |
MSPointingColumns * | msPointingCols_p |
Vector< Int > | pointingId_p |
GBTAntennaDAPFiller * | antDAPFiller_p |
GBTAntennaFile * | antennaFile_p |
GBTPointModelFiller * | modelFiller_p |
GBTMeanFocusFiller * | focusFiller_p |
this ultimately belongs in the FEED table, I think. | |
ArrayMeasColumn< MDirection > | userDirection_p |
NRAO_GBT_USER_DIRECTION column - this is a ArrayMeasColumn<MDirection> where the number of elements is given by NUM_POLY as with the DIRECTION column but where the reference frame may vary from row to row. | |
ScalarColumn< Double > | userEquinox_p |
hacks until I know how to really set the user-defined coordinate system | |
ScalarColumn< Bool > | userDefined_p |
ScalarColumn< Int > | meanFocusId_p |
NRAO_GBT_MEAN_FOCUS_ID column, id to mean focus table. | |
StatAcc< Double > | raStatAcc_p |
StatAcc< Double > | decStatAcc_p |
MVTime | j2000_p |
to be used when filling the TIME column |
GBTMSPointingFiller fills the MSPointing table for GBT fillers.
Internal
This class puts GBT data (fills) into the MSPointing table.
This class puts the appropriate values for the GBT in an MSPointing table (which has been previously created as part of a MeasurementSet). On each fill() any necessary additions to the MSPointing are made. Each fill() adds a new row to the MSPointing table.
The pointingId is available to be used by other GBTMS*Fillers as other subtables are filled in turn.
Writing a filler is a daunting task. There are various dependencies between the subtables. It helps to encapsulate the knowlege and task of filling a specific subtable to separate classes.
Definition at line 100 of file GBTMSPointingFiller.h.
The default ctor.
No MSPointing table has been attached yet. Calling fill on such a filler will throw an exception. It is present so that this object can be instantiated before an MSPointing has been created.
GBTMSPointingFiller::GBTMSPointingFiller | ( | MSPointing & | msPointing | ) |
A filler attached to an MSPointing table.
GBTMSPointingFiller::GBTMSPointingFiller | ( | const GBTMSPointingFiller & | other | ) | [private] |
undefined and unavailable
void GBTMSPointingFiller::attach | ( | MSPointing & | msPointing | ) |
attach it to an MSPointing
void GBTMSPointingFiller::fill | ( | MeasurementSet & | ms, |
Int | antennaId, | ||
const Vector< Double > & | times, | ||
Double | interval | ||
) |
fill using the indicated sourceId and using the times to get the appropriate antenna positions at those times to be stored in the MSPointing table.
Each fill() call adds times.nelements() rows to MSPointing IF there are antenna positions, otherwise just a single row will be added. This assumes that same integration interval applies to all times in a given fill.
void GBTMSPointingFiller::flush | ( | ) |
flush the underlying MS subtable and the model and focus fillers
void GBTMSPointingFiller::init | ( | MSPointing & | msPointing | ) | [private] |
initialize the above for the first time
void GBTMSPointingFiller::operator= | ( | const GBTMSPointingFiller & | other | ) | [private] |
const Vector<Int>& GBTMSPointingFiller::pointingId | ( | ) | const [inline] |
this is the row numbers of the most recently "filled" MSPointing row it returns an empty vector if nothing has been filled yet
Definition at line 137 of file GBTMSPointingFiller.h.
References pointingId_p.
void GBTMSPointingFiller::setAntennaDAPFiller | ( | GBTAntennaDAPFiller * | antennaDAPFiller | ) |
Use the indicated antenna DAP filler to get the antenna positions from.
This class is not responsible for deleting this pointer.
void GBTMSPointingFiller::setAntennaFile | ( | GBTAntennaFile * | antennaFile | ) |
Use the indicated antenna file to get the antenna positions.
This class is not responsible for deleting this pointer. If there is an attached antenna file, this always takes precendence over any attached antenna DAP filler.
Definition at line 148 of file GBTMSPointingFiller.h.
GBTAntennaFile* GBTMSPointingFiller::antennaFile_p [private] |
Definition at line 149 of file GBTMSPointingFiller.h.
StatAcc<Double> GBTMSPointingFiller::decStatAcc_p [private] |
Definition at line 167 of file GBTMSPointingFiller.h.
this ultimately belongs in the FEED table, I think.
Definition at line 153 of file GBTMSPointingFiller.h.
MVTime GBTMSPointingFiller::j2000_p [private] |
to be used when filling the TIME column
Definition at line 170 of file GBTMSPointingFiller.h.
ScalarColumn<Int> GBTMSPointingFiller::meanFocusId_p [private] |
NRAO_GBT_MEAN_FOCUS_ID column, id to mean focus table.
Definition at line 165 of file GBTMSPointingFiller.h.
Definition at line 151 of file GBTMSPointingFiller.h.
MSPointing* GBTMSPointingFiller::msPointing_p [private] |
Definition at line 143 of file GBTMSPointingFiller.h.
MSPointingColumns* GBTMSPointingFiller::msPointingCols_p [private] |
Definition at line 144 of file GBTMSPointingFiller.h.
Vector<Int> GBTMSPointingFiller::pointingId_p [private] |
Definition at line 146 of file GBTMSPointingFiller.h.
Referenced by pointingId().
StatAcc<Double> GBTMSPointingFiller::raStatAcc_p [private] |
Definition at line 167 of file GBTMSPointingFiller.h.
ScalarColumn<Bool> GBTMSPointingFiller::userDefined_p [private] |
Definition at line 162 of file GBTMSPointingFiller.h.
ArrayMeasColumn<MDirection> GBTMSPointingFiller::userDirection_p [private] |
NRAO_GBT_USER_DIRECTION column - this is a ArrayMeasColumn<MDirection> where the number of elements is given by NUM_POLY as with the DIRECTION column but where the reference frame may vary from row to row.
Definition at line 158 of file GBTMSPointingFiller.h.
ScalarColumn<Double> GBTMSPointingFiller::userEquinox_p [private] |
hacks until I know how to really set the user-defined coordinate system
Definition at line 161 of file GBTMSPointingFiller.h.