casa::MSFieldColumns Class Reference
[MeasurementSets]

#include <MSFieldColumns.h>

Inheritance diagram for casa::MSFieldColumns:

Inheritance graph
[legend]
Collaboration diagram for casa::MSFieldColumns:

Collaboration graph
[legend]
List of all members.

Detailed Description

A class to provide easy read-write access to MSField columns.

Intended use:

Part of API

Review Status

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

Prerequisite

Etymology

MSFieldColumns stands for MeasurementSet Field Table columns.

Synopsis

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

Definition at line 232 of file MSFieldColumns.h.

Public Member Functions

 MSFieldColumns (MSField &msField)
 Construct from the supplied Table.
 ~MSFieldColumns ()
 The desctructor does nothing special.
void setEpochRef (MEpoch::Types ref, Bool tableMustBeEmpty=True)
 set the epoch reference type for the TIME column.
void setDirectionRef (MDirection::Types ref)
 set the direction reference type for the REFERENCE_DIR, DELAY_DIR & PHASE_DIR columns.
ScalarColumn< String > & code ()
 Read-write access to required columns.
ArrayColumn< Double > & delayDir ()
ArrayMeasColumn< MDirection > & delayDirMeasCol ()
ScalarColumn< Bool > & flagRow ()
ScalarColumn< String > & name ()
ScalarColumn< Int > & numPoly ()
ArrayColumn< Double > & phaseDir ()
ArrayMeasColumn< MDirection > & phaseDirMeasCol ()
ArrayColumn< Double > & referenceDir ()
ArrayMeasColumn< MDirection > & referenceDirMeasCol ()
ScalarColumn< Int > & sourceId ()
ScalarColumn< Double > & time ()
ScalarQuantColumn< Double > & timeQuant ()
ScalarMeasColumn< MEpoch > & timeMeas ()
ScalarColumn< Int > & ephemerisId ()
 Read-write access to optional columns.
const ROScalarColumn< String > & code () const
 Read-only access to required columns.
const ROArrayColumn< Double > & delayDir () const
const ROArrayMeasColumn< MDirection > & delayDirMeasCol () const
const ROScalarColumn< Bool > & flagRow () const
const ROScalarColumn< String > & name () const
const ROScalarColumn< Int > & numPoly () const
const ROArrayColumn< Double > & phaseDir () const
const ROArrayMeasColumn< MDirection > & phaseDirMeasCol () const
const ROArrayColumn< Double > & referenceDir () const
const ROArrayMeasColumn< MDirection > & referenceDirMeasCol () const
const ROScalarColumn< Int > & sourceId () const
const ROScalarColumn< Double > & time () const
const ROScalarQuantColumn<
Double > & 
timeQuant () const
const ROScalarMeasColumn<
MEpoch > & 
timeMeas () const
const ROScalarColumn< Int > & ephemerisId () const
 Read-only access to optional columns.

Static Public Member Functions

static MDirection interpolateDirMeas (const Array< MDirection > &arrDir, Int numPoly, Double interTime, Double timeOrigin)
 Interpolate the direction Measure polynomial.

Protected Member Functions

 MSFieldColumns ()
void attach (MSField &msField)

Private Member Functions

 MSFieldColumns (const MSFieldColumns &)
MSFieldColumnsoperator= (const MSFieldColumns &)
void attachOptionalCols (MSField &msField)

Private Attributes

ScalarColumn< Stringname_p
ScalarColumn< Stringcode_p
ScalarColumn< Doubletime_p
ScalarColumn< IntnumPoly_p
ArrayColumn< DoubledelayDir_p
ArrayColumn< DoublephaseDir_p
ArrayColumn< DoublereferenceDir_p
ScalarColumn< IntsourceId_p
ScalarColumn< BoolflagRow_p
ScalarColumn< IntephemerisId_p
ScalarMeasColumn< MEpochtimeMeas_p
ArrayMeasColumn< MDirectiondelayDirMeas_p
ArrayMeasColumn< MDirectionphaseDirMeas_p
ArrayMeasColumn< MDirectionreferenceDirMeas_p
ScalarQuantColumn< DoubletimeQuant_p


Constructor & Destructor Documentation

casa::MSFieldColumns::MSFieldColumns ( MSField msField  ) 

Construct from the supplied Table.

casa::MSFieldColumns::~MSFieldColumns (  ) 

The desctructor does nothing special.

casa::MSFieldColumns::MSFieldColumns (  )  [protected]

casa::MSFieldColumns::MSFieldColumns ( const MSFieldColumns  )  [private]


Member Function Documentation

ScalarColumn<String>& casa::MSFieldColumns::code (  )  [inline]

Read-write access to required columns.

Note that the direction measures with a stored polynomial have Col() added to their name. They are better accessed via the functions that have the same name, without the Col suffix, that will do the interpolation for you. These functions are in the ROMSFieldColumns class.

Definition at line 248 of file MSFieldColumns.h.

References code_p.

ArrayColumn<Double>& casa::MSFieldColumns::delayDir (  )  [inline]

Definition at line 249 of file MSFieldColumns.h.

References delayDir_p.

ArrayMeasColumn<MDirection>& casa::MSFieldColumns::delayDirMeasCol (  )  [inline]

Definition at line 250 of file MSFieldColumns.h.

References delayDirMeas_p.

ScalarColumn<Bool>& casa::MSFieldColumns::flagRow (  )  [inline]

Definition at line 252 of file MSFieldColumns.h.

References flagRow_p.

ScalarColumn<String>& casa::MSFieldColumns::name (  )  [inline]

Definition at line 253 of file MSFieldColumns.h.

References name_p.

ScalarColumn<Int>& casa::MSFieldColumns::numPoly (  )  [inline]

Definition at line 254 of file MSFieldColumns.h.

References numPoly_p.

ArrayColumn<Double>& casa::MSFieldColumns::phaseDir (  )  [inline]

Definition at line 255 of file MSFieldColumns.h.

References phaseDir_p.

ArrayMeasColumn<MDirection>& casa::MSFieldColumns::phaseDirMeasCol (  )  [inline]

Definition at line 256 of file MSFieldColumns.h.

References phaseDirMeas_p.

ArrayColumn<Double>& casa::MSFieldColumns::referenceDir (  )  [inline]

Definition at line 258 of file MSFieldColumns.h.

References referenceDir_p.

ArrayMeasColumn<MDirection>& casa::MSFieldColumns::referenceDirMeasCol (  )  [inline]

Definition at line 259 of file MSFieldColumns.h.

References referenceDirMeas_p.

ScalarColumn<Int>& casa::MSFieldColumns::sourceId (  )  [inline]

Definition at line 261 of file MSFieldColumns.h.

References sourceId_p.

ScalarColumn<Double>& casa::MSFieldColumns::time (  )  [inline]

Definition at line 262 of file MSFieldColumns.h.

References time_p.

ScalarQuantColumn<Double>& casa::MSFieldColumns::timeQuant (  )  [inline]

Definition at line 263 of file MSFieldColumns.h.

References timeQuant_p.

ScalarMeasColumn<MEpoch>& casa::MSFieldColumns::timeMeas (  )  [inline]

Definition at line 264 of file MSFieldColumns.h.

References timeMeas_p.

ScalarColumn<Int>& casa::MSFieldColumns::ephemerisId (  )  [inline]

Read-write access to optional columns.

Definition at line 269 of file MSFieldColumns.h.

References ephemerisId_p.

const ROScalarColumn<String>& casa::MSFieldColumns::code (  )  const [inline]

Read-only access to required columns.

Reimplemented from casa::ROMSFieldColumns.

Definition at line 274 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::code().

const ROArrayColumn<Double>& casa::MSFieldColumns::delayDir (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 276 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::delayDir().

const ROArrayMeasColumn<MDirection>& casa::MSFieldColumns::delayDirMeasCol (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 278 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::delayDirMeasCol().

const ROScalarColumn<Bool>& casa::MSFieldColumns::flagRow (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 280 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::flagRow().

const ROScalarColumn<String>& casa::MSFieldColumns::name (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 282 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::name().

const ROScalarColumn<Int>& casa::MSFieldColumns::numPoly (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 284 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::numPoly().

const ROArrayColumn<Double>& casa::MSFieldColumns::phaseDir (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 286 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::phaseDir().

const ROArrayMeasColumn<MDirection>& casa::MSFieldColumns::phaseDirMeasCol (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 288 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::phaseDirMeasCol().

const ROArrayColumn<Double>& casa::MSFieldColumns::referenceDir (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 290 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::referenceDir().

const ROArrayMeasColumn<MDirection>& casa::MSFieldColumns::referenceDirMeasCol (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 292 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::referenceDirMeasCol().

const ROScalarColumn<Int>& casa::MSFieldColumns::sourceId (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 294 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::sourceId().

const ROScalarColumn<Double>& casa::MSFieldColumns::time (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 296 of file MSFieldColumns.h.

References casa::time().

const ROScalarQuantColumn<Double>& casa::MSFieldColumns::timeQuant (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 298 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::timeQuant().

const ROScalarMeasColumn<MEpoch>& casa::MSFieldColumns::timeMeas (  )  const [inline]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 300 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::timeMeas().

const ROScalarColumn<Int>& casa::MSFieldColumns::ephemerisId (  )  const [inline]

Read-only access to optional columns.

Reimplemented from casa::ROMSFieldColumns.

Definition at line 306 of file MSFieldColumns.h.

References casa::ROMSFieldColumns::ephemerisId().

static MDirection casa::MSFieldColumns::interpolateDirMeas ( const Array< MDirection > &  arrDir,
Int  numPoly,
Double  interTime,
Double  timeOrigin 
) [static]

Interpolate the direction Measure polynomial.

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

set the epoch reference type for the TIME column.

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.

void casa::MSFieldColumns::setDirectionRef ( MDirection::Types  ref  ) 

set the direction reference type for the REFERENCE_DIR, DELAY_DIR & PHASE_DIR columns.

This can only be done when the table has no rows. Trying to do so at other times will throw an exception.

void casa::MSFieldColumns::attach ( MSField msField  )  [protected]

MSFieldColumns& casa::MSFieldColumns::operator= ( const MSFieldColumns  )  [private]

void casa::MSFieldColumns::attachOptionalCols ( MSField msField  )  [private]


Member Data Documentation

ScalarColumn<String> casa::MSFieldColumns::name_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 349 of file MSFieldColumns.h.

Referenced by name().

ScalarColumn<String> casa::MSFieldColumns::code_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 350 of file MSFieldColumns.h.

Referenced by code().

ScalarColumn<Double> casa::MSFieldColumns::time_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 351 of file MSFieldColumns.h.

Referenced by time().

ScalarColumn<Int> casa::MSFieldColumns::numPoly_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 352 of file MSFieldColumns.h.

Referenced by numPoly().

ArrayColumn<Double> casa::MSFieldColumns::delayDir_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 353 of file MSFieldColumns.h.

Referenced by delayDir().

ArrayColumn<Double> casa::MSFieldColumns::phaseDir_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 354 of file MSFieldColumns.h.

Referenced by phaseDir().

ArrayColumn<Double> casa::MSFieldColumns::referenceDir_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 355 of file MSFieldColumns.h.

Referenced by referenceDir().

ScalarColumn<Int> casa::MSFieldColumns::sourceId_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 356 of file MSFieldColumns.h.

Referenced by sourceId().

ScalarColumn<Bool> casa::MSFieldColumns::flagRow_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 357 of file MSFieldColumns.h.

Referenced by flagRow().

ScalarColumn<Int> casa::MSFieldColumns::ephemerisId_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 359 of file MSFieldColumns.h.

Referenced by ephemerisId().

ScalarMeasColumn<MEpoch> casa::MSFieldColumns::timeMeas_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 362 of file MSFieldColumns.h.

Referenced by timeMeas().

ArrayMeasColumn<MDirection> casa::MSFieldColumns::delayDirMeas_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 363 of file MSFieldColumns.h.

Referenced by delayDirMeasCol().

ArrayMeasColumn<MDirection> casa::MSFieldColumns::phaseDirMeas_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 364 of file MSFieldColumns.h.

Referenced by phaseDirMeasCol().

ArrayMeasColumn<MDirection> casa::MSFieldColumns::referenceDirMeas_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 365 of file MSFieldColumns.h.

Referenced by referenceDirMeasCol().

ScalarQuantColumn<Double> casa::MSFieldColumns::timeQuant_p [private]

Reimplemented from casa::ROMSFieldColumns.

Definition at line 368 of file MSFieldColumns.h.

Referenced by timeQuant().


The documentation for this class was generated from the following file:
Generated on Mon Sep 1 22:46:52 2008 for NRAOCASA by  doxygen 1.5.1