CalMainBuffer.h

Classes

CalMainBuffer -- CalMainBuffer: Calibration main table buffer (full description)

class CalMainBuffer

Interface

Public Members
CalMainBuffer()
CalMainBuffer (const Vector<Int>& calIndices, const Block<Vector<Int> >& indexValues)
CalMainBuffer (CalIterBase& calIter)
virtual ~CalMainBuffer()
virtual void synchronize()
virtual void fillCache()
virtual Int append (CalTable& calTable)
virtual Int nRow()
virtual CalDescBuffer& calDescBuffer()
virtual CalHistoryBuffer& calHistoryBuffer()
virtual Vector<MEpoch>& timeMeas()
virtual Vector<Quantity>& timeEPQuant()
virtual Vector<Quantity>& intervalQuant()
virtual Vector<Int>& antenna1()
virtual Vector<Int>& feed1()
virtual Vector<Int>& fieldId()
virtual Vector<Int>& arrayId()
virtual Vector<Int>& obsId()
virtual Vector<Int>& scanNo()
virtual Vector<Int>& processorId()
virtual Vector<Int>& stateId()
virtual Vector<Int>& phaseId()
virtual Vector<Int>& pulsarBin()
virtual Vector<Int>& pulsarGateId()
virtual Vector<Int>& freqGrp()
virtual Vector<String>& freqGrpName()
virtual Vector<String>& fieldName()
virtual Vector<String>& fieldCode()
virtual Vector<String>& sourceName()
virtual Vector<String>& sourceCode()
virtual Vector<Int>& calGrp()
virtual Array<Complex>& gain()
virtual Array<Int>& refAnt()
virtual Array<Int>& refFeed()
virtual Array<Int>& refReceptor()
virtual Array<MFrequency>& refFreqMeas()
virtual Vector<Int>& measFreqRef()
virtual Array<MDirection>& refDirMeas()
virtual Vector<Int>& measDirRef()
virtual Vector<Int>& calDescId()
virtual Vector<Int>& calHistoryId()
virtual Vector<Int>& asVecInt (const MSCalEnums::colDef& calEnum)
virtual Vector<String>& asVecString (const MSCalEnums::colDef& calEnum)
virtual Vector<Int> matchAntenna1 (const Int& antennaId)
virtual Vector<Int> matchAntenna1AndFieldId (const Int& antennaId, const Int& fldId)
virtual Vector<Int> matchAntenna1AndFreqGrp (const Int& antennaId, const String& frqGrpName)
Protected Members
virtual CalMainColumns* newCalMainCol (CalTable& calTable)
virtual CalMainColumns* calMainCol()
Bool connectedToIter()
virtual void invalidate()
virtual void fillIndices (const Vector<Int>& calIndices, const VisBuffer& vb)
virtual void fillIndices (const Vector<Int>& calIndices, const Block<Vector<Int> >& indexValues)
virtual void fillAttributes(const Vector<Int>& calIndices, const VisBuffer& vb)
virtual void fillAttributes(const Vector<Int>& calIndices)
Bool excluded(const MSCalEnums::colDef& calEnum, const Vector<Int>& excludeIndices)

Description

Prerequisite

Etymology

From "calibration main table" and "buffer"

Synopsis

The CalMainBuffer class holds a buffer, optionally connected to a calibration main table iterator (of base type CalIterBase). Specializations for baseline-based, time-variable and solvable VisJones calibration table formats are provided through inheritance.

Example


 

Motivation

Encapsulate calibration main table data buffers.

To Do

Member Description

CalMainBuffer()

Default constructor. No connection to an underlying calibration table iterator in this case.

CalMainBuffer (const Vector<Int>& calIndices, const Block<Vector<Int> >& indexValues)

Construct from a set of calibration buffer indices and their specified values. Non-index columns will be set to default values. There is no connection to an underlying calibration table iterator in this case.

CalMainBuffer (CalIterBase& calIter)

Construct from a calibration table iterator. The calibration buffer will remain synchronized with the iterator.

virtual ~CalMainBuffer()

Default destructor

virtual void synchronize()

Synchronize the buffer (if attached to an iterator)

virtual void fillCache()

Force an explicit read to cache for all columns (if attached to an iterator)

virtual Int append (CalTable& calTable)

Write the current buffer at the end of a specified cal table; returns the number of rows appended.

virtual Int nRow()

Maximum number of rows in the calibration buffer

virtual CalDescBuffer& calDescBuffer()

Accessors for the contained cal_desc and cal_history buffers

virtual CalHistoryBuffer& calHistoryBuffer()

virtual Vector<MEpoch>& timeMeas()

Data field accessors

virtual Vector<Quantity>& timeEPQuant()

virtual Vector<Quantity>& intervalQuant()

virtual Vector<Int>& antenna1()

virtual Vector<Int>& feed1()

virtual Vector<Int>& fieldId()

virtual Vector<Int>& arrayId()

virtual Vector<Int>& obsId()

virtual Vector<Int>& scanNo()

virtual Vector<Int>& processorId()

virtual Vector<Int>& stateId()

virtual Vector<Int>& phaseId()

virtual Vector<Int>& pulsarBin()

virtual Vector<Int>& pulsarGateId()

virtual Vector<Int>& freqGrp()

virtual Vector<String>& freqGrpName()

virtual Vector<String>& fieldName()

virtual Vector<String>& fieldCode()

virtual Vector<String>& sourceName()

virtual Vector<String>& sourceCode()

virtual Vector<Int>& calGrp()

virtual Array<Complex>& gain()

virtual Array<Int>& refAnt()

virtual Array<Int>& refFeed()

virtual Array<Int>& refReceptor()

virtual Array<MFrequency>& refFreqMeas()

virtual Vector<Int>& measFreqRef()

virtual Array<MDirection>& refDirMeas()

virtual Vector<Int>& measDirRef()

virtual Vector<Int>& calDescId()

virtual Vector<Int>& calHistoryId()

virtual Vector<Int>& asVecInt (const MSCalEnums::colDef& calEnum)

Generic access to integer columns by MSCalEnums enumeration. Throws an exception if the column is not recognized or is not an integer column.

virtual Vector<String>& asVecString (const MSCalEnums::colDef& calEnum)

Generic access to string columns by MSCalEnums enumeration. Throws an exception if the column is not recognized or is not a string column.

virtual Vector<Int> matchAntenna1 (const Int& antennaId)

Find the matching rows for a given antenna1 id.

virtual Vector<Int> matchAntenna1AndFieldId (const Int& antennaId, const Int& fldId)

Find the matching rows for a given antenna1 id. and field id. pair

virtual Vector<Int> matchAntenna1AndFreqGrp (const Int& antennaId, const String& frqGrpName)

Find the matching rows for a given antenna1 id. and freq. group name

virtual CalMainColumns* newCalMainCol (CalTable& calTable)

Factory method to create a columns accessor object of the appropriate type

virtual CalMainColumns* calMainCol()

Access to the columns accessor object

Bool connectedToIter()

Is the buffer connected to an underlying iterator ?

virtual void invalidate()

Invalidate the current cache.

virtual void fillIndices (const Vector<Int>& calIndices, const VisBuffer& vb)

Span an empty cal buffer by taking all permutations of the values of a specified set of cal indices, specified as enums from class MSCalEnums:

Use a visibility buffer to define the index values

virtual void fillIndices (const Vector<Int>& calIndices, const Block<Vector<Int> >& indexValues)

Define the index values directly

virtual void fillAttributes(const Vector<Int>& calIndices)

Set default attribute values

virtual void fillAttributes(const Vector<Int>& calIndices, const VisBuffer& vb)

Bool excluded(const MSCalEnums::colDef& calEnum, const Vector<Int>& excludeIndices)

Utility function to test for membership in a list of calibration enums