GBTMSPointingFiller.h

Classes

GBTMSPointingFiller -- GBTMSPointingFiller fills the MSPointing table for GBT fillers (full description)

class GBTMSPointingFiller

Interface

Public Members
GBTMSPointingFiller()
GBTMSPointingFiller(MSPointing &msPointing)
~GBTMSPointingFiller()
void attach(MSPointing &msPointing)
void setAntennaDAPFiller(GBTAntennaDAPFiller *antennaDAPFiller)
void setAntennaFile(GBTAntennaFile *antennaFile)
void fill(MeasurementSet &ms, Int antennaId, const Vector<Double> &times, Double interval)
const Vector<Int> &pointingId() const
void flush()
Private Members
void init(MSPointing &msPointing)
GBTMSPointingFiller(const GBTMSPointingFiller &other)
void operator=(const GBTMSPointingFiller &other)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

This class puts GBT data (fills) into the MSPointing table.

Synopsis

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.

Example

Motivation

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.

Member Description

GBTMSPointingFiller()

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(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. This class is not responsible for deleting this pointer.

void 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.

void 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.

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

void init(MSPointing &msPointing)

initialize the above for the first time

GBTMSPointingFiller(const GBTMSPointingFiller &other)

undefined and unavailable

void operator=(const GBTMSPointingFiller &other)