casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Attributes
casa::MSField Class Reference

A Table intended to hold a MeasurementSet FIELD table. More...

#include <MSField.h>

Inheritance diagram for casa::MSField:
casa::MSFieldEnums casa::MSTable< MSFieldEnums::PredefinedColumns, MSFieldEnums::PredefinedKeywords > casa::Table

List of all members.

Public Member Functions

 MSField ()
 This constructs an empty MSField.
 ~MSField ()
 As with tables, the destructor writes the table if necessary.
MSFieldoperator= (const MSField &)
 Assignment operator, reference semantics.
MSField referenceCopy (const String &newTableName, const Block< String > &writableColumns) const
 Make a special copy of this Table which references all columns from this Table except those mentioned; those are empty and writable.
Bool addEphemeris (const uInt id, const String &inputEphemTableName, const String &comment)
 Add an ephemeris table (there can be many) to the Field table.
Bool removeEphemeris (const uInt id)
 Remove (delete) any ephemeris tables with given id (without changes to the EPHEMERIS_ID column).
 MSField (const String &tableName, TableOption=Table::Old)
 These constructors mirror the Table ones with additional checking on validity (verifying that the MSField will have the required columns and keywords) An exception is thrown if the constructed Table is not a valid MSField.
 MSField (const String &tableName, const String &tableDescName, TableOption=Table::Old)
 MSField (SetupNewTable &newTab, uInt nrrow=0, Bool initialize=False)
 MSField (const Table &table)
 MSField (const MSField &other)

Static Public Member Functions

static void init ()
 Initialize the statics appropriately.

Private Attributes

Bool hasBeenDestroyed_p
 required by the need to throw an exception in the destructor

Detailed Description

A Table intended to hold a MeasurementSet FIELD table.

Intended use:

Public interface

Review Status

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

Prerequisite

Etymology

MSField stands for the MeasurementSet Field table.

Synopsis

An MSField is a table intended to hold the FIELD table for the MeasurementSet. It has an identical set of member functions as the main MeasurementSet class, except (currently) for the default calibration members. For further info and examples see the MeasurementSet class.

Example

See the MeasurementSet for an example of how to access and use this class.

Motivation

It was found that subtables and the main table of the MeasurementSet have a lot in common, therefore they derive their interface from the same base class. Each subtable has its own class to keep the enum definitions and conversion functions in separate scopes.

Definition at line 78 of file MSField.h.


Constructor & Destructor Documentation

This constructs an empty MSField.

casa::MSField::MSField ( const String tableName,
TableOption  = Table::Old 
)

These constructors mirror the Table ones with additional checking on validity (verifying that the MSField will have the required columns and keywords) An exception is thrown if the constructed Table is not a valid MSField.

  <h3>Thrown Exceptions</h3><ul>    <li> AipsError
  </ul>

casa::MSField::MSField ( const String tableName,
const String tableDescName,
TableOption  = Table::Old 
)
casa::MSField::MSField ( SetupNewTable newTab,
uInt  nrrow = 0,
Bool  initialize = False 
)
casa::MSField::MSField ( const Table table)
casa::MSField::MSField ( const MSField other)

As with tables, the destructor writes the table if necessary.

Additional checking is done here to verify that all required columns are still present. If it is NOT valid, it will write the table and then throw an exception.

Thrown Exceptions


Member Function Documentation

Bool casa::MSField::addEphemeris ( const uInt  id,
const String inputEphemTableName,
const String comment 
)

Add an ephemeris table (there can be many) to the Field table.

The table is copied from inputEphemTableName and named EPHEM<id>_<comment>.tab If any tables of the same id exist already, they are removed beforehand. The optional EPHEMERIS_ID column is added if it doesn't exist, yet. Return False in case of errors.

static void casa::MSField::init ( ) [static]

Initialize the statics appropriately.

This does not need to be called by users, it is called by the implementation class MSTableImpl.

MSField& casa::MSField::operator= ( const MSField )

Assignment operator, reference semantics.

MSField casa::MSField::referenceCopy ( const String newTableName,
const Block< String > &  writableColumns 
) const

Make a special copy of this Table which references all columns from this Table except those mentioned; those are empty and writable.

Each forwarded column has the same writable status as the underlying column. The mentioned columns all use the AipsIO storage manager. This function is inherited from MSTable and unlikely to be of use, except in the class MeasurementSet (see comment there)..

Reimplemented from casa::MSTable< MSFieldEnums::PredefinedColumns, MSFieldEnums::PredefinedKeywords >.

Remove (delete) any ephemeris tables with given id (without changes to the EPHEMERIS_ID column).

Return False in case of errors (but True if the id didn't exist).


Member Data Documentation

required by the need to throw an exception in the destructor

Definition at line 147 of file MSField.h.


The documentation for this class was generated from the following file: