casa
$Rev:20696$
|
A Table intended to hold a MeasurementSet FIELD table. More...
#include <MSField.h>
Public Member Functions | |
MSField () | |
This constructs an empty MSField. | |
~MSField () | |
As with tables, the destructor writes the table if necessary. | |
MSField & | operator= (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 |
A Table intended to hold a MeasurementSet FIELD table.
Public interface
MSField stands for the MeasurementSet Field table.
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.
See the MeasurementSet for an example of how to access and use this class.
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.
This constructs an empty MSField.
casa::MSField::MSField | ( | const String & | tableName, |
TableOption | = Table::Old |
||
) |
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.
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::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 >.
Bool casa::MSField::removeEphemeris | ( | const uInt | id | ) |
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).
Bool casa::MSField::hasBeenDestroyed_p [private] |