casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
GBTMSPointingFiller Class Reference

GBTMSPointingFiller fills the MSPointing table for GBT fillers. More...

#include <GBTMSPointingFiller.h>

List of all members.

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 > &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.
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
GBTAntennaDAPFillerantDAPFiller_p
GBTAntennaFileantennaFile_p
GBTPointModelFillermodelFiller_p
GBTMeanFocusFillerfocusFiller_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

Detailed Description

GBTMSPointingFiller fills the MSPointing table for GBT fillers.

Intended use:

Internal

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.

Definition at line 100 of file GBTMSPointingFiller.h.


Constructor & Destructor Documentation

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.

undefined and unavailable


Member Function Documentation

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.

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.

Use the indicated antenna DAP filler to get the antenna positions from.

This class is not responsible for deleting this pointer.

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.


Member Data Documentation

Definition at line 148 of file GBTMSPointingFiller.h.

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.


The documentation for this class was generated from the following file: