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

GBTMSSysCalFiller fills the MSSysCal table for GBT fillers. More...

#include <GBTMSSysCalFiller.h>

List of all members.

Public Member Functions

 GBTMSSysCalFiller ()
 The default ctor.
 GBTMSSysCalFiller (MSSysCal &msSysCal)
 A filler attached to an MSSysCal table.
 ~GBTMSSysCalFiller ()
void attach (MSSysCal &msSysCal)
 attach it to an MSSysCal
void prefill (const Matrix< Float > &tcal, const Matrix< Float > &trx, Int antennaId, Int feedId, Int spectralWindowId)
 Pre-fill the TCAL and TRX values.
void fill (Double time, Double interval, Int antennaId, Int feedId, Int spectralWindowId)
 Fill the SYSCAL table.
void flush ()
 flush the underlying MS subtable

Private Member Functions

void init (MSSysCal &msSysCal)
 initialize the above for the first time
 GBTMSSysCalFiller (const GBTMSSysCalFiller &other)
 undefined and unavailable
void operator= (const GBTMSSysCalFiller &other)

Private Attributes

MSSysCal * msSysCal_p
 the actual syscal table and columns
MSSysCalColumns * msSysCalCols_p
MSSysCal * dummySysCal_p
 the dummy ones used to hold the cached TCAL and TRX values
MSSysCalColumns * dummyCols_p
ColumnsIndex * dummyIndex_p
 Table index into the dummy SYSCAL table.
RecordFieldPtr< Int > antIdKey_p
 And the index keys.
RecordFieldPtr< Int > feedIdKey_p
RecordFieldPtr< Int > spwIdKey_p
Int lastIndex_p
 row number matching these keys

Detailed Description

GBTMSSysCalFiller fills the MSSysCal table for GBT fillers.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

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

Synopsis

This class puts the appropriate values for the GBT in an MSSysCal table (which has been previously created as part of a MeasurementSet). On each fill() any necessary additions to the MSSysCal are made. Each call to fill generates a new row.

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 86 of file GBTMSSysCalFiller.h.


Constructor & Destructor Documentation

The default ctor.

No MSSysCal 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 MSSysCal has been created.

GBTMSSysCalFiller::GBTMSSysCalFiller ( MSSysCal &  msSysCal)

A filler attached to an MSSysCal table.

undefined and unavailable


Member Function Documentation

void GBTMSSysCalFiller::attach ( MSSysCal &  msSysCal)

attach it to an MSSysCal

void GBTMSSysCalFiller::fill ( Double  time,
Double  interval,
Int  antennaId,
Int  feedId,
Int  spectralWindowId 
)

Fill the SYSCAL table.

A new row is added to the SYSCAL table.

void GBTMSSysCalFiller::flush ( ) [inline]

flush the underlying MS subtable

Definition at line 123 of file GBTMSSysCalFiller.h.

References msSysCal_p.

void GBTMSSysCalFiller::init ( MSSysCal &  msSysCal) [private]

initialize the above for the first time

void GBTMSSysCalFiller::operator= ( const GBTMSSysCalFiller other) [private]
void GBTMSSysCalFiller::prefill ( const Matrix< Float > &  tcal,
const Matrix< Float > &  trx,
Int  antennaId,
Int  feedId,
Int  spectralWindowId 
)

Pre-fill the TCAL and TRX values.

This associates those input values with antennaId, feedId and spectralWindowId. and a date string from the receiver CAL table. Subsequent calls to fill use these pre-filled values. Since these values don't change very often with time (generally never during an observing run, for example) the calls to fill simply involve a time and interval matching that in the main table so that the TSYS cell can be prepared for use by the calibration routines (which requires one cell for each cell in the main table). If this combination of keys has already been used, these values of tcal and trx will replace the ones already stored.


Member Data Documentation

RecordFieldPtr<Int> GBTMSSysCalFiller::antIdKey_p [private]

And the index keys.

Definition at line 137 of file GBTMSSysCalFiller.h.

MSSysCalColumns* GBTMSSysCalFiller::dummyCols_p [private]

Definition at line 132 of file GBTMSSysCalFiller.h.

ColumnsIndex* GBTMSSysCalFiller::dummyIndex_p [private]

Table index into the dummy SYSCAL table.

Definition at line 135 of file GBTMSSysCalFiller.h.

MSSysCal* GBTMSSysCalFiller::dummySysCal_p [private]

the dummy ones used to hold the cached TCAL and TRX values

Definition at line 131 of file GBTMSSysCalFiller.h.

RecordFieldPtr<Int> GBTMSSysCalFiller::feedIdKey_p [private]

Definition at line 137 of file GBTMSSysCalFiller.h.

row number matching these keys

Definition at line 140 of file GBTMSSysCalFiller.h.

MSSysCal* GBTMSSysCalFiller::msSysCal_p [private]

the actual syscal table and columns

Definition at line 127 of file GBTMSSysCalFiller.h.

Referenced by flush().

MSSysCalColumns* GBTMSSysCalFiller::msSysCalCols_p [private]

Definition at line 128 of file GBTMSSysCalFiller.h.

RecordFieldPtr<Int> GBTMSSysCalFiller::spwIdKey_p [private]

Definition at line 137 of file GBTMSSysCalFiller.h.


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