casa::MSMainColumns Class Reference
[MeasurementSets]

#include <MSMainColumns.h>

Inheritance diagram for casa::MSMainColumns:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

A class for easy read-write access to MeasurementSet main table columns.

Intended use:

Part of API

Review Status

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

Prerequisite

Etymology

MSMainColumns stands for MeasurementSet main Table columns.

Synopsis

This class provides access to the columns in the MeasurementSet. 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. Warning: The Table that is used to construct this class must not be destroyed (or go out of scope) before this class does. Otherwise the scalar and array columns use by this class will be left dangling.

Example

    // use as follows
    MeasurementSet ms("myMS",Table::Update); 
    MSColumns msc(ms);
    // show data from row 5
    cout << msc.data()(5);
    // change name of antenna on row 3 in antenna table
    msc.antenna().name().put(3,"NewAnt-3");

Motivation

Having to type long lists of Scalar and Array column declarations gets very tedious. This class attempts to relieve some of that tedium, while at the same time concentrating all the declarations in one place, making Type errors in the column declaration (only caught at run-time) less probable. Type errors in the use of the columns is caught at compile time.

To Do

Definition at line 318 of file MSMainColumns.h.

Public Member Functions

 MSMainColumns (MeasurementSet &ms)
 Create a columns object that accesses the data in the specified Table.
 ~MSMainColumns ()
 The desctructor does nothing special.
void setEpochRef (MEpoch::Types ref, Bool tableMustBeEmpty=True)
 set the epoch type for the TIME and TIME_CENTROID columns.
void setUVWRef (Muvw::Types ref)
 set the UVW reference type for the UVW and UVW2 (if defined) columns.
void setFlagCategories (const Vector< String > &categories)
 Set the flag category labels to the supplied values (in the CATEGORY keyword of the FLAG_CATEGORY column).
ScalarColumn< Int > & antenna1 ()
 Read-write access to required columns.
ScalarColumn< Int > & antenna2 ()
ScalarColumn< Int > & arrayId ()
ScalarColumn< Int > & dataDescId ()
ScalarColumn< Double > & exposure ()
ScalarQuantColumn< Double > & exposureQuant ()
ScalarColumn< Int > & feed1 ()
ScalarColumn< Int > & feed2 ()
ScalarColumn< Int > & fieldId ()
ArrayColumn< Bool > & flag ()
ArrayColumn< Bool > & flagCategory ()
ScalarColumn< Bool > & flagRow ()
ScalarColumn< Double > & interval ()
ScalarQuantColumn< Double > & intervalQuant ()
ScalarColumn< Int > & observationId ()
ScalarColumn< Int > & processorId ()
ScalarColumn< Int > & scanNumber ()
ArrayColumn< Float > & sigma ()
ScalarColumn< Int > & stateId ()
ScalarColumn< Double > & time ()
ScalarQuantColumn< Double > & timeQuant ()
ScalarMeasColumn< MEpoch > & timeMeas ()
ScalarColumn< Double > & timeCentroid ()
ScalarQuantColumn< Double > & timeCentroidQuant ()
ScalarMeasColumn< MEpoch > & timeCentroidMeas ()
ArrayColumn< Double > & uvw ()
ArrayQuantColumn< Double > & uvwQuant ()
ScalarMeasColumn< Muvw > & uvwMeas ()
ArrayColumn< Float > & weight ()
ScalarColumn< Int > & antenna3 ()
 Read-write access to optional columns.
ScalarColumn< Bool > & baselineRef ()
ArrayColumn< Complex > & correctedData ()
ArrayColumn< Complex > & data ()
ScalarColumn< Int > & feed3 ()
ArrayColumn< Float > & floatData ()
ArrayColumn< Float > & imagingWeight ()
ArrayColumn< Complex > & lagData ()
ArrayColumn< Complex > & modelData ()
ScalarColumn< Int > & phaseId ()
ScalarColumn< Int > & pulsarBin ()
ScalarColumn< Int > & pulsarGateId ()
ArrayColumn< Float > & sigmaSpectrum ()
ScalarColumn< Double > & timeExtraPrec ()
ScalarQuantColumn< Double > & timeExtraPrecQuant ()
ArrayColumn< Double > & uvw2 ()
ScalarMeasColumn< Muvw > & uvw2Meas ()
ArrayQuantColumn< Double > & uvw2Quant ()
ArrayColumn< Complex > & videoPoint ()
ArrayColumn< Float > & weightSpectrum ()
const ROScalarColumn< Int > & antenna1 () const
 Read-only access to required columns.
const ROScalarColumn< Int > & antenna2 () const
const ROScalarColumn< Int > & arrayId () const
const ROScalarColumn< Int > & dataDescId () const
const ROScalarColumn< Double > & exposure () const
const ROScalarQuantColumn<
Double > & 
exposureQuant () const
const ROScalarColumn< Int > & feed1 () const
const ROScalarColumn< Int > & feed2 () const
const ROScalarColumn< Int > & fieldId () const
const ROArrayColumn< Bool > & flag () const
const ROArrayColumn< Bool > & flagCategory () const
const ROScalarColumn< Bool > & flagRow () const
const ROScalarColumn< Double > & interval () const
const ROScalarQuantColumn<
Double > & 
intervalQuant () const
const ROScalarColumn< Int > & observationId () const
const ROScalarColumn< Int > & processorId () const
const ROScalarColumn< Int > & scanNumber () const
const ROArrayColumn< Float > & sigma () const
const ROScalarColumn< Int > & stateId () const
const ROScalarColumn< Double > & time () const
const ROScalarQuantColumn<
Double > & 
timeQuant () const
const ROScalarMeasColumn<
MEpoch > & 
timeMeas () const
const ROScalarColumn< Double > & timeCentroid () const
const ROScalarQuantColumn<
Double > & 
timeCentroidQuant () const
const ROScalarMeasColumn<
MEpoch > & 
timeCentroidMeas () const
const ROArrayColumn< Double > & uvw () const
const ROArrayQuantColumn<
Double > & 
uvwQuant () const
const ROScalarMeasColumn<
Muvw > & 
uvwMeas () const
const ROArrayColumn< Float > & weight () const
const ROScalarColumn< Int > & antenna3 () const
 Read-only access to optional columns.
const ROScalarColumn< Bool > & baselineRef () const
const ROArrayColumn< Complex > & correctedData () const
const ROArrayColumn< Complex > & data () const
const ROScalarColumn< Int > & feed3 () const
const ROArrayColumn< Float > & floatData () const
const ROArrayColumn< Float > & imagingWeight () const
const ROArrayColumn< Complex > & lagData () const
const ROArrayColumn< Complex > & modelData () const
const ROScalarColumn< Int > & phaseId () const
const ROScalarColumn< Int > & pulsarBin () const
const ROScalarColumn< Int > & pulsarGateId () const
const ROArrayColumn< Float > & sigmaSpectrum () const
const ROScalarColumn< Double > & timeExtraPrec () const
const ROScalarQuantColumn<
Double > & 
timeExtraPrecQuant () const
const ROArrayColumn< Double > & uvw2 () const
const ROScalarMeasColumn<
Muvw > & 
uvw2Meas () const
const ROArrayQuantColumn<
Double > & 
uvw2Quant () const
const ROArrayColumn< Complex > & videoPoint () const
const ROArrayColumn< Float > & weightSpectrum () const

Protected Member Functions

 MSMainColumns ()
void attach (MeasurementSet &ms)

Private Member Functions

 MSMainColumns (const MSMainColumns &)
MSMainColumnsoperator= (const MSMainColumns &)
void attachOptionalCols (MeasurementSet &ms)

Private Attributes

ScalarColumn< Intantenna1_p
ScalarColumn< Intantenna2_p
ScalarColumn< IntarrayId_p
ScalarColumn< IntdataDescId_p
ScalarColumn< Doubleexposure_p
ScalarColumn< Intfeed1_p
ScalarColumn< Intfeed2_p
ScalarColumn< IntfieldId_p
ArrayColumn< Boolflag_p
ArrayColumn< BoolflagCategory_p
ScalarColumn< BoolflagRow_p
ScalarColumn< Doubleinterval_p
ScalarColumn< IntobservationId_p
ScalarColumn< IntprocessorId_p
ScalarColumn< IntscanNumber_p
ArrayColumn< Floatsigma_p
ScalarColumn< IntstateId_p
ScalarColumn< Doubletime_p
ScalarColumn< DoubletimeCentroid_p
ArrayColumn< Doubleuvw_p
ArrayColumn< Floatweight_p
ScalarColumn< Intantenna3_p
ScalarColumn< BoolbaselineRef_p
ArrayColumn< Complex > data_p
ScalarColumn< Intfeed3_p
ArrayColumn< FloatfloatData_p
ArrayColumn< Complex > lagData_p
ScalarColumn< IntphaseId_p
ScalarColumn< IntpulsarBin_p
ScalarColumn< IntpulsarGateId_p
ArrayColumn< FloatsigmaSpectrum_p
ScalarColumn< DoubletimeExtraPrec_p
ArrayColumn< Doubleuvw2_p
ArrayColumn< Complex > videoPoint_p
ArrayColumn< FloatweightSpectrum_p
ArrayColumn< Complex > correctedData_p
ArrayColumn< FloatimagingWeight_p
ArrayColumn< Complex > modelData_p
ScalarMeasColumn< MEpochtimeMeas_p
ScalarMeasColumn< MEpochtimeCentroidMeas_p
ScalarMeasColumn< MuvwuvwMeas_p
ScalarMeasColumn< Muvwuvw2Meas_p
ScalarQuantColumn< DoubleexposureQuant_p
ScalarQuantColumn< DoubleintervalQuant_p
ScalarQuantColumn< DoubletimeQuant_p
ScalarQuantColumn< DoubletimeCentroidQuant_p
ArrayQuantColumn< DoubleuvwQuant_p
ScalarQuantColumn< DoubletimeExtraPrecQuant_p
ArrayQuantColumn< Doubleuvw2Quant_p


Constructor & Destructor Documentation

casa::MSMainColumns::MSMainColumns ( MeasurementSet ms  ) 

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

casa::MSMainColumns::~MSMainColumns (  ) 

The desctructor does nothing special.

casa::MSMainColumns::MSMainColumns (  )  [protected]

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


Member Function Documentation

ScalarColumn<Int>& casa::MSMainColumns::antenna1 (  )  [inline]

Read-write access to required columns.

Definition at line 330 of file MSMainColumns.h.

References antenna1_p.

ScalarColumn<Int>& casa::MSMainColumns::antenna2 (  )  [inline]

Definition at line 331 of file MSMainColumns.h.

References antenna2_p.

ScalarColumn<Int>& casa::MSMainColumns::arrayId (  )  [inline]

Definition at line 332 of file MSMainColumns.h.

References arrayId_p.

ScalarColumn<Int>& casa::MSMainColumns::dataDescId (  )  [inline]

Definition at line 333 of file MSMainColumns.h.

References dataDescId_p.

ScalarColumn<Double>& casa::MSMainColumns::exposure (  )  [inline]

Definition at line 334 of file MSMainColumns.h.

References exposure_p.

ScalarQuantColumn<Double>& casa::MSMainColumns::exposureQuant (  )  [inline]

Definition at line 335 of file MSMainColumns.h.

References exposureQuant_p.

ScalarColumn<Int>& casa::MSMainColumns::feed1 (  )  [inline]

Definition at line 337 of file MSMainColumns.h.

References feed1_p.

ScalarColumn<Int>& casa::MSMainColumns::feed2 (  )  [inline]

Definition at line 338 of file MSMainColumns.h.

References feed2_p.

ScalarColumn<Int>& casa::MSMainColumns::fieldId (  )  [inline]

Definition at line 339 of file MSMainColumns.h.

References fieldId_p.

ArrayColumn<Bool>& casa::MSMainColumns::flag (  )  [inline]

Definition at line 340 of file MSMainColumns.h.

References flag_p.

ArrayColumn<Bool>& casa::MSMainColumns::flagCategory (  )  [inline]

Definition at line 341 of file MSMainColumns.h.

References flagCategory_p.

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

Definition at line 342 of file MSMainColumns.h.

References flagRow_p.

ScalarColumn<Double>& casa::MSMainColumns::interval (  )  [inline]

Definition at line 343 of file MSMainColumns.h.

References interval_p.

ScalarQuantColumn<Double>& casa::MSMainColumns::intervalQuant (  )  [inline]

Definition at line 344 of file MSMainColumns.h.

References intervalQuant_p.

ScalarColumn<Int>& casa::MSMainColumns::observationId (  )  [inline]

Definition at line 346 of file MSMainColumns.h.

References observationId_p.

ScalarColumn<Int>& casa::MSMainColumns::processorId (  )  [inline]

Definition at line 347 of file MSMainColumns.h.

References processorId_p.

ScalarColumn<Int>& casa::MSMainColumns::scanNumber (  )  [inline]

Definition at line 348 of file MSMainColumns.h.

References scanNumber_p.

ArrayColumn<Float>& casa::MSMainColumns::sigma (  )  [inline]

Definition at line 349 of file MSMainColumns.h.

References sigma_p.

ScalarColumn<Int>& casa::MSMainColumns::stateId (  )  [inline]

Definition at line 350 of file MSMainColumns.h.

References stateId_p.

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

Definition at line 351 of file MSMainColumns.h.

References time_p.

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

Definition at line 352 of file MSMainColumns.h.

References timeQuant_p.

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

Definition at line 354 of file MSMainColumns.h.

References timeMeas_p.

ScalarColumn<Double>& casa::MSMainColumns::timeCentroid (  )  [inline]

Definition at line 356 of file MSMainColumns.h.

References timeCentroid_p.

ScalarQuantColumn<Double>& casa::MSMainColumns::timeCentroidQuant (  )  [inline]

Definition at line 357 of file MSMainColumns.h.

References timeCentroidQuant_p.

ScalarMeasColumn<MEpoch>& casa::MSMainColumns::timeCentroidMeas (  )  [inline]

Definition at line 359 of file MSMainColumns.h.

References timeCentroidMeas_p.

ArrayColumn<Double>& casa::MSMainColumns::uvw (  )  [inline]

Definition at line 361 of file MSMainColumns.h.

References uvw_p.

ArrayQuantColumn<Double>& casa::MSMainColumns::uvwQuant (  )  [inline]

Definition at line 362 of file MSMainColumns.h.

References uvwQuant_p.

ScalarMeasColumn<Muvw>& casa::MSMainColumns::uvwMeas (  )  [inline]

Definition at line 364 of file MSMainColumns.h.

References uvwMeas_p.

ArrayColumn<Float>& casa::MSMainColumns::weight (  )  [inline]

Definition at line 366 of file MSMainColumns.h.

References weight_p.

ScalarColumn<Int>& casa::MSMainColumns::antenna3 (  )  [inline]

Read-write access to optional columns.

Definition at line 371 of file MSMainColumns.h.

References antenna3_p.

ScalarColumn<Bool>& casa::MSMainColumns::baselineRef (  )  [inline]

Definition at line 372 of file MSMainColumns.h.

References baselineRef_p.

ArrayColumn<Complex>& casa::MSMainColumns::correctedData (  )  [inline]

Definition at line 373 of file MSMainColumns.h.

References correctedData_p.

ArrayColumn<Complex>& casa::MSMainColumns::data (  )  [inline]

Definition at line 374 of file MSMainColumns.h.

References data_p.

ScalarColumn<Int>& casa::MSMainColumns::feed3 (  )  [inline]

Definition at line 375 of file MSMainColumns.h.

References feed3_p.

ArrayColumn<Float>& casa::MSMainColumns::floatData (  )  [inline]

Definition at line 376 of file MSMainColumns.h.

References floatData_p.

ArrayColumn<Float>& casa::MSMainColumns::imagingWeight (  )  [inline]

Definition at line 377 of file MSMainColumns.h.

References imagingWeight_p.

ArrayColumn<Complex>& casa::MSMainColumns::lagData (  )  [inline]

Definition at line 378 of file MSMainColumns.h.

References lagData_p.

ArrayColumn<Complex>& casa::MSMainColumns::modelData (  )  [inline]

Definition at line 379 of file MSMainColumns.h.

References modelData_p.

ScalarColumn<Int>& casa::MSMainColumns::phaseId (  )  [inline]

Definition at line 380 of file MSMainColumns.h.

References phaseId_p.

ScalarColumn<Int>& casa::MSMainColumns::pulsarBin (  )  [inline]

Definition at line 381 of file MSMainColumns.h.

References pulsarBin_p.

ScalarColumn<Int>& casa::MSMainColumns::pulsarGateId (  )  [inline]

Definition at line 382 of file MSMainColumns.h.

References pulsarGateId_p.

ArrayColumn<Float>& casa::MSMainColumns::sigmaSpectrum (  )  [inline]

Definition at line 383 of file MSMainColumns.h.

References sigmaSpectrum_p.

ScalarColumn<Double>& casa::MSMainColumns::timeExtraPrec (  )  [inline]

Definition at line 384 of file MSMainColumns.h.

References timeExtraPrec_p.

ScalarQuantColumn<Double>& casa::MSMainColumns::timeExtraPrecQuant (  )  [inline]

Definition at line 385 of file MSMainColumns.h.

References timeExtraPrecQuant_p.

ArrayColumn<Double>& casa::MSMainColumns::uvw2 (  )  [inline]

Definition at line 387 of file MSMainColumns.h.

References uvw2_p.

ScalarMeasColumn<Muvw>& casa::MSMainColumns::uvw2Meas (  )  [inline]

Definition at line 388 of file MSMainColumns.h.

References uvw2Meas_p.

ArrayQuantColumn<Double>& casa::MSMainColumns::uvw2Quant (  )  [inline]

Definition at line 390 of file MSMainColumns.h.

References uvw2Quant_p.

ArrayColumn<Complex>& casa::MSMainColumns::videoPoint (  )  [inline]

Definition at line 392 of file MSMainColumns.h.

References videoPoint_p.

ArrayColumn<Float>& casa::MSMainColumns::weightSpectrum (  )  [inline]

Definition at line 393 of file MSMainColumns.h.

References weightSpectrum_p.

const ROScalarColumn<Int>& casa::MSMainColumns::antenna1 (  )  const [inline]

Read-only access to required columns.

Reimplemented from casa::ROMSMainColumns.

Definition at line 398 of file MSMainColumns.h.

References casa::ROMSMainColumns::antenna1().

const ROScalarColumn<Int>& casa::MSMainColumns::antenna2 (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 400 of file MSMainColumns.h.

References casa::ROMSMainColumns::antenna2().

const ROScalarColumn<Int>& casa::MSMainColumns::arrayId (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 402 of file MSMainColumns.h.

References casa::ROMSMainColumns::arrayId().

const ROScalarColumn<Int>& casa::MSMainColumns::dataDescId (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 404 of file MSMainColumns.h.

References casa::ROMSMainColumns::dataDescId().

const ROScalarColumn<Double>& casa::MSMainColumns::exposure (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 406 of file MSMainColumns.h.

References casa::ROMSMainColumns::exposure().

const ROScalarQuantColumn<Double>& casa::MSMainColumns::exposureQuant (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 408 of file MSMainColumns.h.

References casa::ROMSMainColumns::exposureQuant().

const ROScalarColumn<Int>& casa::MSMainColumns::feed1 (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 410 of file MSMainColumns.h.

References casa::ROMSMainColumns::feed1().

const ROScalarColumn<Int>& casa::MSMainColumns::feed2 (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 412 of file MSMainColumns.h.

References casa::ROMSMainColumns::feed2().

const ROScalarColumn<Int>& casa::MSMainColumns::fieldId (  )  const [inline]

Reimplemented from casa::ROMSMainColumns.

Definition at line 414 of file MSMainColumns.h.

References casa::ROMSMainColumns::fieldId().

const ROArrayColumn