casa
$Rev:20696$
|
GBTMSFieldFiller fills the MSField table for GBT fillers. More...
#include <GBTMSFieldFiller.h>
Public Member Functions | |
GBTMSFieldFiller () | |
The default ctor. | |
GBTMSFieldFiller (MSField &msField) | |
A filler attached to an MSField table. | |
~GBTMSFieldFiller () | |
void | attach (MSField &msField) |
attach it to an MSField | |
void | fill (Int sourceId, const String &name, const MDirection &fieldDir) |
fill, adding rows as necessary, fieldDir is the nominal pointing direction at equinox. | |
const Int & | fieldId () const |
this is the row numbers of the most recently filled MSField row it returns -1 if nothing has been filled yet | |
void | flush () |
flush the underlying MS subtable | |
Private Member Functions | |
void | init (MSField &msField) |
initialize the above for the first time | |
GBTMSFieldFiller (const GBTMSFieldFiller &other) | |
undefined and unavailable | |
void | operator= (const GBTMSFieldFiller &other) |
Private Attributes | |
ColumnsIndex * | index_p |
RecordFieldPtr< String > | nameKey_p |
RecordFieldPtr< Int > | sourceIdKey_p |
RecordFieldPtr< Double > | timeKey_p |
MSField * | msField_p |
MSFieldColumns * | msFieldCols_p |
Int | fieldId_p |
GBTMSFieldFiller fills the MSField table for GBT fillers.
Internal
This class puts GBT data (fills) into the MSField table.
This class puts the appropriate values for the GBT in an MSField table (which has been previously created as part of a MeasurementSet). On each fill() any necessary additions to the MSField are made. This is fully indexed. New rows are only added for each new NAME, CODE, NUM_POLY, SOURCE_ID combination or when the directions change for an existing such combination.
The fieldId 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 93 of file GBTMSFieldFiller.h.
The default ctor.
No MSField 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 MSField has been created.
GBTMSFieldFiller::GBTMSFieldFiller | ( | MSField & | msField | ) |
A filler attached to an MSField table.
GBTMSFieldFiller::GBTMSFieldFiller | ( | const GBTMSFieldFiller & | other | ) | [private] |
undefined and unavailable
void GBTMSFieldFiller::attach | ( | MSField & | msField | ) |
attach it to an MSField
const Int& GBTMSFieldFiller::fieldId | ( | ) | const [inline] |
this is the row numbers of the most recently filled MSField row it returns -1 if nothing has been filled yet
Definition at line 118 of file GBTMSFieldFiller.h.
References fieldId_p.
void GBTMSFieldFiller::fill | ( | Int | sourceId, |
const String & | name, | ||
const MDirection & | fieldDir | ||
) |
fill, adding rows as necessary, fieldDir is the nominal pointing direction at equinox.
DELAY_DIR, PHASE_DIR, and REFERENCE_DIR are set to the fieldDir value. These are always in J2000 in the MS.
void GBTMSFieldFiller::flush | ( | ) | [inline] |
flush the underlying MS subtable
Definition at line 121 of file GBTMSFieldFiller.h.
References msField_p.
void GBTMSFieldFiller::init | ( | MSField & | msField | ) | [private] |
initialize the above for the first time
void GBTMSFieldFiller::operator= | ( | const GBTMSFieldFiller & | other | ) | [private] |
Int GBTMSFieldFiller::fieldId_p [private] |
Definition at line 131 of file GBTMSFieldFiller.h.
Referenced by fieldId().
ColumnsIndex* GBTMSFieldFiller::index_p [private] |
Definition at line 124 of file GBTMSFieldFiller.h.
MSField* GBTMSFieldFiller::msField_p [private] |
Definition at line 128 of file GBTMSFieldFiller.h.
Referenced by flush().
MSFieldColumns* GBTMSFieldFiller::msFieldCols_p [private] |
Definition at line 129 of file GBTMSFieldFiller.h.
RecordFieldPtr<String> GBTMSFieldFiller::nameKey_p [private] |
Definition at line 125 of file GBTMSFieldFiller.h.
RecordFieldPtr<Int> GBTMSFieldFiller::sourceIdKey_p [private] |
Definition at line 126 of file GBTMSFieldFiller.h.
RecordFieldPtr<Double> GBTMSFieldFiller::timeKey_p [private] |
Definition at line 127 of file GBTMSFieldFiller.h.