MSObsColumns.h

Classes

ROMSObservationColumns -- A class to provide easy read-only access to MSObservation columns (full description)
MSObservationColumns -- A class to provide easy read-write access to MSObservation columns (full description)

class ROMSObservationColumns

Interface

Public Members
ROMSObservationColumns(const MSObservation& msObservation)
~ROMSObservationColumns()
const ROScalarColumn<Bool>& flagRow() const
const ROArrayColumn<String>& log() const
const ROScalarColumn<String>& observer() const
const ROScalarColumn<String>& project() const
const ROScalarColumn<Double>& releaseDate() const
const ROScalarQuantColumn<Double>& releaseDateQuant() const
const ROScalarMeasColumn<MEpoch>& releaseDateMeas() const
const ROArrayColumn<String>& schedule() const
const ROScalarColumn<String>& scheduleType() const
const ROScalarColumn<String>& telescopeName() const
const ROArrayColumn<Double>& timeRange() const
const ROArrayQuantColumn<Double>& timeRangeQuant() const
const ROArrayMeasColumn<MEpoch>& timeRangeMeas() const
uInt nrow() const
Protected Members
ROMSObservationColumns()
void attach(const MSObservation& msObservation)
Private Members
ROMSObservationColumns(const ROMSObservationColumns&)
ROMSObservationColumns& operator=(const ROMSObservationColumns&)

Description

Review Status

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

Prerequisite

Etymology

ROMSObservationColumns stands for Read-Only MeasurementSet Observation Table columns.

Synopsis

This class provides read-only access to the columns in the MSObservation 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

ROMSObservationColumns(const MSObservation& msObservation)

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

~ROMSObservationColumns()

The destructor does nothing special

const ROScalarColumn<Bool>& flagRow() const
const ROArrayColumn<String>& log() const
const ROScalarColumn<String>& observer() const
const ROScalarColumn<String>& project() const
const ROScalarColumn<Double>& releaseDate() const
const ROScalarQuantColumn<Double>& releaseDateQuant() const
const ROScalarMeasColumn<MEpoch>& releaseDateMeas() const
const ROArrayColumn<String>& schedule() const
const ROScalarColumn<String>& scheduleType() const
const ROScalarColumn<String>& telescopeName() const
const ROArrayColumn<Double>& timeRange() const
const ROArrayQuantColumn<Double>& timeRangeQuant() const
const ROArrayMeasColumn<MEpoch>& timeRangeMeas() const

Access to required columns

uInt nrow() const

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

ROMSObservationColumns()

void attach(const MSObservation& msObservation)

ROMSObservationColumns(const ROMSObservationColumns&)

ROMSObservationColumns& operator=(const ROMSObservationColumns&)


class MSObservationColumns: public ROMSObservationColumns

Interface

Public Members
MSObservationColumns(MSObservation& msObservation)
~MSObservationColumns()
ScalarColumn<Bool>& flagRow()
ArrayColumn<String>& log()
ScalarColumn<String>& observer()
ScalarColumn<String>& project()
ScalarColumn<Double>& releaseDate()
ScalarQuantColumn<Double>& releaseDateQuant()
ScalarMeasColumn<MEpoch>& releaseDateMeas()
ArrayColumn<String>& schedule()
ScalarColumn<String>& scheduleType()
ScalarColumn<String>& telescopeName()
ArrayColumn<Double>& timeRange()
ArrayQuantColumn<Double>& timeRangeQuant()
ArrayMeasColumn<MEpoch>& timeRangeMeas()
const ROScalarColumn<Bool>& flagRow() const
const ROArrayColumn<String>& log() const
const ROScalarColumn<String>& observer() const
const ROScalarColumn<String>& project() const
const ROScalarColumn<Double>& releaseDate() const
const ROScalarQuantColumn<Double>& releaseDateQuant() const
const ROScalarMeasColumn<MEpoch>& releaseDateMeas() const
const ROArrayColumn<String>& schedule() const
const ROScalarColumn<String>& scheduleType() const
const ROScalarColumn<String>& telescopeName() const
const ROArrayColumn<Double>& timeRange() const
const ROArrayQuantColumn<Double>& timeRangeQuant() const
const ROArrayMeasColumn<MEpoch>& timeRangeMeas() const
void setEpochRef(MEpoch::Types ref, Bool tableMustBeEmpty=True)
Protected Members
MSObservationColumns()
void attach(MSObservation& msObservation)
Private Members
MSObservationColumns(const MSObservationColumns&)
MSObservationColumns& operator=(const MSObservationColumns&)

Description

Review Status

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

Prerequisite

Etymology

MSObservationColumns stands for MeasurementSet Observation Table columns.

Synopsis

This class provides access to the columns in the MSObservation 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

MSObservationColumns(MSObservation& msObservation)

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

~MSObservationColumns()

The desctructor does nothing special

ScalarColumn<Bool>& flagRow()
ArrayColumn<String>& log()
ScalarColumn<String>& observer()
ScalarColumn<String>& project()
ScalarColumn<Double>& releaseDate()
ScalarQuantColumn<Double>& releaseDateQuant()
ScalarMeasColumn<MEpoch>& releaseDateMeas()
ArrayColumn<String>& schedule()
ScalarColumn<String>& scheduleType()
ScalarColumn<String>& telescopeName()
ArrayColumn<Double>& timeRange()
ArrayQuantColumn<Double>& timeRangeQuant()
ArrayMeasColumn<MEpoch>& timeRangeMeas()

Read-write access to required columns

const ROScalarColumn<Bool>& flagRow() const
const ROArrayColumn<String>& log() const
const ROScalarColumn<String>& observer() const
const ROScalarColumn<String>& project() const
const ROScalarColumn<Double>& releaseDate() const
const ROScalarQuantColumn<Double>& releaseDateQuant() const
const ROScalarMeasColumn<MEpoch>& releaseDateMeas() const
const ROArrayColumn<String>& schedule() const
const ROScalarColumn<String>& scheduleType() const
const ROScalarColumn<String>& telescopeName() const
const ROArrayColumn<Double>& timeRange() const
const ROArrayQuantColumn<Double>& timeRangeQuant() const
const ROArrayMeasColumn<MEpoch>& timeRangeMeas() const

Read-only access to required columns

void setEpochRef(MEpoch::Types ref, Bool tableMustBeEmpty=True)

set the epoch type for the TIME_RANGE & RELEASE_DATE columns.

Tip In principle this function can only be used if the table is empty, otherwise already written values may thereafter have an incorrect reference, offset, or unit. However, it is possible that part of the table gets written before these values are known. In that case the reference, offset, or units can be set by using a False tableMustBeEmpty argument.

MSObservationColumns()

void attach(MSObservation& msObservation)

MSObservationColumns(const MSObservationColumns&)

MSObservationColumns& operator=(const MSObservationColumns&)