GBTMSSysCalFiller.h

Classes

GBTMSSysCalFiller -- GBTMSSysCalFiller fills the MSSysCal table for GBT fillers (full description)

class GBTMSSysCalFiller

Interface

Public Members
GBTMSSysCalFiller()
GBTMSSysCalFiller(MSSysCal &msSysCal)
~GBTMSSysCalFiller()
void attach(MSSysCal &msSysCal)
void prefill(const Matrix<Float> &tcal, const Matrix<Float> &trx, Int antennaId, Int feedId, Int spectralWindowId)
void fill(Double time, Double interval, Int antennaId, Int feedId, Int spectralWindowId)
void flush()
Private Members
void init(MSSysCal &msSysCal)
GBTMSSysCalFiller(const GBTMSSysCalFiller &other)
void operator=(const GBTMSSysCalFiller &other)

Description

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.

Member Description

GBTMSSysCalFiller()

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

void 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 flush()

flush the underlying MS subtable

void init(MSSysCal &msSysCal)

initialize the above for the first time

GBTMSSysCalFiller(const GBTMSSysCalFiller &other)

undefined and unavailable

void operator=(const GBTMSSysCalFiller &other)