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

GBTMSFieldFiller fills the MSField table for GBT fillers. More...

#include <GBTMSFieldFiller.h>

List of all members.

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< StringnameKey_p
RecordFieldPtr< Int > sourceIdKey_p
RecordFieldPtr< Double > timeKey_p
MSField * msField_p
MSFieldColumns * msFieldCols_p
Int fieldId_p

Detailed Description

GBTMSFieldFiller fills the MSField table for GBT fillers.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

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

Synopsis

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.

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 93 of file GBTMSFieldFiller.h.


Constructor & Destructor Documentation

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.

undefined and unavailable


Member Function Documentation

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]

Member Data Documentation

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.


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