GBTBackendFiller.h

Classes

GBTBackendFiller -- A base class for GBT backend fillers. (full description)

class GBTBackendFiller

Interface

Public Members
GBTBackendFiller()
virtual ~GBTBackendFiller()
static TableLock tableLock()
virtual GBTScanLogReader::BACKENDS type() = 0
virtual Bool fill(const String &backendFile, const Block<String> &dapFiles, const String &ifManagerFile, const Block<String> &rxCalInfoFiles, const GBTGOFile &GOFile, const String &antennaFile, const GBTStateTable &masterState, const GBTLO1File &LO1A, const GBTLO1File &LO1B, const GBTMSFillOptions &fillOptions) = 0
virtual Bool prepareDAPfillers(const String &dapfile, const MVTime &startTime)
virtual void fillDAP()
virtual MeasurementSet &ms()
virtual Bool openMS(const String &msName, Bool useFeedDDFiller = True)
virtual Bool createMS(const String &msName, const TableDesc &mainTD, const DataManager &dm, const Vector<String> &dmColNames, const IPosition &defaultTileShape, const GBTMSFillOptions &fillOptions, Int nrows = 0, Bool spectralLine = False, Bool useFeedDDFiller = True)
virtual Bool createMS(const String &msName, const TableDesc &mainTD, const DataManager &dm, const Vector<String> &dmColNames, const IPosition &defaultTileShape, const GBTMSFillOptions &fillOptions, const DataManager &dm2, const Vector<String> &dm2ColNames, Int nrows = 0, Bool spectralLine = False, Bool useFeedDDFiller = True)
virtual Bool createMS(const String &msName, const TableDesc &mainTD, const GBTMSFillOptions &fillOptions, Int nrows = 0, Bool useFeedDDFiller = True)
virtual Bool hasMS()
virtual void flush()
virtual void reattach()
virtual MSMainColumns &cols()
virtual GBTFeedDDFiller &feedDDFiller()
virtual GBTMSAntennaFiller &antennaFiller()
virtual GBTMSDataDescFiller &dataDescFiller()
virtual GBTMSFeedFiller &feedFiller()
virtual GBTMSFieldFiller &fieldFiller()
virtual GBTMSHistoryFiller &historyFiller()
virtual GBTMSObservationFiller &observationFiller()
virtual GBTMSPointingFiller &pointingFiller()
virtual GBTMSPolarizationFiller &polarizationFiller()
virtual GBTMSProcessorFiller &processorFiller()
virtual GBTMSSourceFiller &sourceFiller()
virtual GBTMSSpecWinFiller &specWinFiller()
virtual GBTMSStateFiller &stateFiller()
virtual GBTMSSysCalFiller &sysCalFiller()
virtual GBTMSWeatherFiller &weatherFiller()
virtual MVTime &startTime()
GBTLO1DAPFiller *lo1Filler()
ArrayColumn<Complex> &modelData()
ArrayColumn<Complex> &correctedData()
ArrayColumn<Float> &imagingWeight()
Private Members
void initSubTableFillers(Bool useFeedDDFiller)
void addCalSet(const IPosition &defaultTileShape, Bool compress)
void initCalSet()
void attachCalSet()
GBTBackendFiller(const GBTBackendFiller &other)
GBTBackendFiller &operator=(const GBTBackendFiller &other)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The GBT MeasurementSet filler is driven by the contents of the backend data to be filled. This class is the base class for these backend fillers for GBT data, hence GBTBackendFiller.

Synopsis

Example

Motivation

It should be possible to write a new filler by deriving from this class and plug the new class into the filler DO and have the DO understand that new backend. It is also required that the GBTScanLogReader be updated to recognize this new backend.

Thrown Exceptions

To Do

Member Description

GBTBackendFiller()

construct an empty filler, openMS or createMS must be called before this is a useful filler.

virtual ~GBTBackendFiller()

static TableLock tableLock()

static function giving the default TableLock to be used to open all MS tables

virtual GBTScanLogReader::BACKENDS type() = 0

what type of backend is this

virtual Bool fill(const String &backendFile, const Block<String> &dapFiles, const String &ifManagerFile, const Block<String> &rxCalInfoFiles, const GBTGOFile &GOFile, const String &antennaFile, const GBTStateTable &masterState, const GBTLO1File &LO1A, const GBTLO1File &LO1B, const GBTMSFillOptions &fillOptions) = 0

fill a given backend file and DAP files

virtual Bool prepareDAPfillers(const String &dapfile, const MVTime &startTime)

prepare the appropriate DAP filler based on the indicated file name

virtual void fillDAP()

fill all of the prepared DAP files

virtual MeasurementSet &ms()

get the MS this filler is associated with

virtual Bool openMS(const String &msName, Bool useFeedDDFiller = True)

open the MS, this returns False if an MS of that name does not exist or can not be opened. The holography filler has useFeedDDFiller = False here.

virtual Bool createMS(const String &msName, const TableDesc &mainTD, const DataManager &dm, const Vector<String> &dmColNames, const IPosition &defaultTileShape, const GBTMSFillOptions &fillOptions, Int nrows = 0, Bool spectralLine = False, Bool useFeedDDFiller = True)

create and open the MS, using the given TableDesc for the Main table of the MS. Also supply a data manager an the main table column names it should be bound to. When spectralLine is true the following optional columns are added to the indicated tables:

  • SYSCAL: TCAL_SPECTRUM, TRX, and TRX_FLAG
  • SOURCE: REST_FREQUENCY

    virtual Bool createMS(const String &msName, const TableDesc &mainTD, const DataManager &dm, const Vector<String> &dmColNames, const IPosition &defaultTileShape, const GBTMSFillOptions &fillOptions, const DataManager &dm2, const Vector<String> &dm2ColNames, Int nrows = 0, Bool spectralLine = False, Bool useFeedDDFiller = True)

    Supply a second data manager and its columns (this is used when a LAGS column is required). Returns false if the MS can not be created. Always uses the GBTFeedDDFiller. Only the holography filler has useFeedDDFiller = False.

    virtual Bool createMS(const String &msName, const TableDesc &mainTD, const GBTMSFillOptions &fillOptions, Int nrows = 0, Bool useFeedDDFiller = True)

    create and open the MS, no special data manager columns Only the holography filler has useFeedDDFiller = False.

    virtual Bool hasMS()

    virtual void flush()

    Flush the MS and all subtables known here.

    virtual void reattach()

    re-attach to the same MS - forces MSMainColumns to be redone

    virtual MSMainColumns &cols()

    return the main table columns

    virtual GBTFeedDDFiller &feedDDFiller()
    virtual GBTMSAntennaFiller &antennaFiller()
    virtual GBTMSDataDescFiller &dataDescFiller()
    virtual GBTMSFeedFiller &feedFiller()
    virtual GBTMSFieldFiller &fieldFiller()
    virtual GBTMSHistoryFiller &historyFiller()
    virtual GBTMSObservationFiller &observationFiller()
    virtual GBTMSPointingFiller &pointingFiller()
    virtual GBTMSPolarizationFiller &polarizationFiller()
    virtual GBTMSProcessorFiller &processorFiller()
    virtual GBTMSSourceFiller &sourceFiller()
    virtual GBTMSSpecWinFiller &specWinFiller()
    virtual GBTMSStateFiller &stateFiller()
    virtual GBTMSSysCalFiller &sysCalFiller()
    virtual GBTMSWeatherFiller &weatherFiller()

    The several sub-table filler. feedFiller, dataDescFiller, polarizationFiller and specWinFiller are all not attached in favor of feedDDFiller unless useFeedDDFiller is False in openMS or createMS.

    virtual MVTime &startTime()

    return the last time in the MS when it was opened all filling must happen for times on or after this time

    GBTLO1DAPFiller *lo1Filler()

    return a reference to the LO1 filler, by pointer for now. This pointer should not be deleted. It will be a null pointer if there is no LO1 manager associated with this filler yet.

    ArrayColumn<Complex> &modelData()
    ArrayColumn<Complex> &correctedData()
    ArrayColumn<Float> &imagingWeight()

    The calibration columns

    void initSubTableFillers(Bool useFeedDDFiller)

    initialize the sub-table fillers once the MS has been re-opened or constructed

    void addCalSet(const IPosition &defaultTileShape, Bool compress)

    add calibration columns

    void initCalSet()

    initialize calibration columns by setting their shape and their initial default values. This is only used when data already has been filled.

    void attachCalSet()

    attach the calibration columns

    GBTBackendFiller(const GBTBackendFiller &other)

    undefined and unavailable

    GBTBackendFiller &operator=(const GBTBackendFiller &other)