MSPolColumns.h

Classes

ROMSPolarizationColumns -- A class to provide easy read-only access to MSPolarization columns (full description)
MSPolarizationColumns -- A class to provide easy read-write access to MSPolarization columns (full description)

class ROMSPolarizationColumns

Interface

Public Members
ROMSPolarizationColumns(const MSPolarization& msPolarization)
~ROMSPolarizationColumns()
const ROArrayColumn<Int>& corrProduct() const
const ROArrayColumn<Int>& corrType() const
const ROScalarColumn<Bool>& flagRow() const
const ROScalarColumn<Int>& numCorr() const
uInt nrow() const
Int match(const Vector<Stokes::StokesTypes>& polType, Int tryRow=-1)
Protected Members
ROMSPolarizationColumns()
void attach(const MSPolarization& msPolarization)
Private Members
Bool matchCorrType(uInt row, const Vector<Int>& polType) const
Bool matchCorrProduct(uInt row, const Matrix<Int>& polProduct) const
ROMSPolarizationColumns(const ROMSPolarizationColumns&)
ROMSPolarizationColumns& operator=(const ROMSPolarizationColumns&)

Description

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1997/02/01

Prerequisite

Etymology

ROMSPolarizationColumns stands for Read-Only MeasurementSet Polarization Table columns.

Synopsis

This class provides read-only access to the columns in the MSPolarization Table. It does the declaration of all the Scalar and ArrayColumns with the correct types, so the application programmer doesn't have to worry about getting those right. There is an access function for every predefined column. Access to non-predefined columns will still have to be done with explicit declarations. See ROMSColumns for an example.

Motivation

See MSColumns for the motivation.

Member Description

ROMSPolarizationColumns(const MSPolarization& msPolarization)

Create a columns object that accesses the data in the specified Table

~ROMSPolarizationColumns()

The destructor does nothing special

const ROArrayColumn<Int>& corrProduct() const
const ROArrayColumn<Int>& corrType() const
const ROScalarColumn<Bool>& flagRow() const
const ROScalarColumn<Int>& numCorr() const

Access to required columns

uInt nrow() const

Convenience function that returns the number of rows in any of the columns

Int match(const Vector<Stokes::StokesTypes>& polType, Int tryRow=-1)

returns the last row that contains the an entry in the CORR_TYPE column that matches, in length and value, the supplied corrType Vector. Returns -1 if no match could be found. Flagged rows can never match. If tryRow is non-negative, then that row is tested to see if it matches before any others are tested. Setting tryRow to a positive value greater than the table length will throw an exception (AipsError), when compiled in debug mode.

ROMSPolarizationColumns()

void attach(const MSPolarization& msPolarization)

Bool matchCorrType(uInt row, const Vector<Int>& polType) const

Bool matchCorrProduct(uInt row, const Matrix<Int>& polProduct) const

ROMSPolarizationColumns(const ROMSPolarizationColumns&)

ROMSPolarizationColumns& operator=(const ROMSPolarizationColumns&)


class MSPolarizationColumns: public ROMSPolarizationColumns

Interface

Public Members
MSPolarizationColumns(MSPolarization& msPolarization)
~MSPolarizationColumns()
ArrayColumn<Int>& corrProduct()
ArrayColumn<Int>& corrType()
ScalarColumn<Bool>& flagRow()
ScalarColumn<Int>& numCorr()
const ROArrayColumn<Int>& corrProduct() const
const ROArrayColumn<Int>& corrType() const
const ROScalarColumn<Bool>& flagRow() const
const ROScalarColumn<Int>& numCorr() const
Protected Members
MSPolarizationColumns()
void attach(MSPolarization& msPolarization)
Private Members
MSPolarizationColumns(const MSPolarizationColumns&)
MSPolarizationColumns& operator=(const MSPolarizationColumns&)

Description

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1997/02/01

Prerequisite

Etymology

MSPolarizationColumns stands for MeasurementSet Polarization Table columns.

Synopsis

This class provides access to the columns in the MSPolarization Table, it does the declaration of all the Scalar and ArrayColumns with the correct types, so the application programmer doesn't have to worry about getting those right. There is an access function for every predefined column. Access to non-predefined columns will still have to be done with explicit declarations. See MSColumns for an example.

Motivation

See MSColumns for the motivation.

Member Description

MSPolarizationColumns(MSPolarization& msPolarization)

Create a columns object that accesses the data in the specified Table

~MSPolarizationColumns()

The destructor does nothing special

ArrayColumn<Int>& corrProduct()
ArrayColumn<Int>& corrType()
ScalarColumn<Bool>& flagRow()
ScalarColumn<Int>& numCorr()

Read-write access to required columns

const ROArrayColumn<Int>& corrProduct() const
const ROArrayColumn<Int>& corrType() const
const ROScalarColumn<Bool>& flagRow() const
const ROScalarColumn<Int>& numCorr() const

Read-only access to required columns

MSPolarizationColumns()

void attach(MSPolarization& msPolarization)

MSPolarizationColumns(const MSPolarizationColumns&)

MSPolarizationColumns& operator=(const MSPolarizationColumns&)