Loading...
Searching...
No Matches
casacore::MSHistory Class Reference
ms package (libcasa_ms) » MeasurementSets_module

More...

`#include <MSHistory.h>`

## Public Member Functions

| MSHistory ()
| This constructs an empty MSHistory.
| MSHistory (const String &tableName, TableOption=Table::Old)
| These constructors mirror the Table ones with additional checking on validity (verifying that the MSHistory will have the required columns and keywords) An exception is thrown if the constructed Table is not a valid MSHistory.
| MSHistory (const String &tableName, const String &tableDescName, TableOption=Table::Old)
| MSHistory (SetupNewTable &newTab, rownr_t nrrow=0, Bool initialize=False)
| MSHistory (const Table &table)
| MSHistory (const MSHistory &other)
| ~MSHistory ()
| As with tables, the destructor writes the table if necessary.
MSHistory & | operator= (const MSHistory &)
| Assignment operator, reference semantics.
MSHistory | 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.
Public Member Functions inherited from casacore::MSTable< MSHistoryEnums >
Bool | isColumn (ColEnum which) const
| ColEnum convenience functions .
Bool | isColumnWritable (ColEnum which) const
| check to see if a column is writable
Bool | isScalar (ColEnum which) const
| Information about scalar vs array of a column.
Bool | isArray (ColEnum which) const
const String & | unit (const String &which) const
| Return the UNIT keyword value associated with the specified column.
Bool | isKeyword (KeyEnum which) const
| check to see if a keyword exists
Public Member Functions inherited from casacore::Table
| Table ()
| Create a null Table object (i.e.
| Table (const String &tableName, TableOption=Table::Old, const TSMOption &=TSMOption())
| Create a table object for an existing table.
| Table (const String &tableName, const TableLock &lockOptions, TableOption=Table::Old, const TSMOption &=TSMOption())
| Table (const String &tableName, const String &tableDescName, TableOption=Table::Old, const TSMOption &=TSMOption())
| Table (const String &tableName, const String &tableDescName, const TableLock &lockOptions, TableOption=Table::Old, const TSMOption &=TSMOption())
| Table (TableType, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Make a new empty table (plain (scratch) or memory type).
| Table (SetupNewTable &, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Make a table object for a new table, which can thereafter be used for reading and writing.
| Table (SetupNewTable &, TableType, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (SetupNewTable &, TableType, const TableLock &lockOptions, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (SetupNewTable &, TableLock::LockOption, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (SetupNewTable &, const TableLock &lockOptions, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, TableType, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, SetupNewTable &, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, SetupNewTable &, TableType, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, SetupNewTable &, TableType, const TableLock &lockOptions, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, SetupNewTable &, TableLock::LockOption, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (MPI_Comm mpiComm, SetupNewTable &, const TableLock &lockOptions, rownr_t nrrow=0, Bool initialize=False, EndianFormat=Table::AipsrcEndian, const TSMOption &=TSMOption())
| Table (const Block< Table > &tables, const Block< String > &subTables=Block< String >(), const String &subDirName=String())
| Create a table object as the virtual concatenation of one or more of existing tables.
| Table (const Block< String > &tableNames, const Block< String > &subTables=Block< String >(), TableOption=Table::Old, const TSMOption &=TSMOption(), const String &subDirName=String())
| Table (const Block< String > &tableNames, const Block< String > &subTables, const TableLock &lockOptions, TableOption=Table::Old, const TSMOption &=TSMOption())
| Table (const Table &)
| Copy constructor (reference semantics).
virtual | ~Table ()
| The destructor flushes (i.e.
Table & | operator= (const Table &)
| Assignment (reference semantics).
Block< String > | getPartNames (Bool recursive=False) const
| Get the names of the tables this table consists of.
Bool | isSameTable (const Table &other) const
| Is this table the same as the other?
Bool | isSameRoot (const Table &other) const
| Is the root table of this table the same as that of the other one?
void | closeSubTables () const
| Close all open subtables.
void | reopenRW ()
| Try to reopen the table for read/write access.
void | changeTiledDataOnly ()
| Indicate we will leave the table unchanged except for the values of the data in columns stored with a TiledShape storage manager.
Table::EndianFormat | endianFormat () const
| Get the endian format in which the table is stored.
const StorageOption & | storageOption () const
| Get the storage option used for the table.
Bool | isMultiUsed (Bool checkSubTables=False) const
| Is the table used (i.e.
const TableLock & | lockOptions () const
| Get the locking options.
Bool | hasLock (FileLocker::LockType=FileLocker::Write) const
| Has this process the read or write lock, thus can the table be read or written safely?
Bool | hasLock (Bool write) const
Bool | lock (FileLocker::LockType=FileLocker::Write, uInt nattempts=0)
| Try to lock the table for read or write access (default is write).
Bool | lock (Bool write, uInt nattempts=0)
void | unlock ()
| Unlock the table.
Bool | hasDataChanged ()
| Determine if column or keyword table data have changed (or is being changed) since the last time this function was called.
void | flush (Bool fsync=False, Bool recursive=False)
| Flush the table, i.e.
void | resync ()
| Resynchronize the Table object with the table file.
Bool | isNull () const
| Test if the object is null, i.e.
void | throwIfNull () const
| Throw an exception if the object is null, i.e.
void | showStructure (std::ostream &, Bool showDataMans=True, Bool showColumns=True, Bool showSubTables=False, Bool sortColumns=False, Bool cOrder=False) const
| Show the structure of the table.
void | showKeywords (std::ostream &, Bool showSubTables=False, Bool showTabKey=True, Bool showColKey=False, Int maxVal=25) const
| Show the table and/or column keywords, possibly also of all subtables.
void | showKeywordSets (std::ostream &, Bool showTabKey, Bool showColKey, Int maxVal) const
| Show the table and/or column keywords of this table.
Bool | isRootTable () const
| Test if this table is the root table (ie.
Bool | isWritable () const
| Test if this table is opened as writable.
Bool | isColumnWritable (const String &columnName) const
| Test if the given column is writable.
Bool | isColumnWritable (uInt columnIndex) const
Bool | isColumnStored (const String &columnName) const
| Test if the given column is stored (otherwise it is virtual).
Bool | isColumnStored (uInt columnIndex) const
const TableRecord & | keywordSet () const
| Get readonly access to the table keyword set.
TableRecord & | rwKeywordSet ()
| Get read/write access to the table keyword set.
const TableInfo & | tableInfo () const
| Get access to the TableInfo object.
TableInfo & | tableInfo ()
void | flushTableInfo () const
| Write the TableInfo object.
const TableDesc & | tableDesc () const
| Get the table description.
TableDesc | actualTableDesc () const
Record | dataManagerInfo () const
| Return all data managers used and the columns served by them.
const String & | tableName () const
| Get the table name.
void | rename (const String &newName, TableOption)
| Rename the table and all its subtables.
void | copy (const String &newName, TableOption, Bool noRows=False) const
| Copy the table and all its subtables.
void | deepCopy (const String &newName, TableOption, Bool valueCopy=False, EndianFormat=AipsrcEndian, Bool noRows=False) const
void | deepCopy (const String &newName, const Record &dataManagerInfo, TableOption, Bool valueCopy=False, EndianFormat=AipsrcEndian, Bool noRows=False) const
void | deepCopy (const String &newName, const Record &dataManagerInfo, const StorageOption &, TableOption, Bool valueCopy=False, EndianFormat=AipsrcEndian, Bool noRows=False) const
Table | copyToMemoryTable (const String &name, Bool noRows=False) const
| Make a copy of a table to a MemoryTable object.
TableType | tableType () const
| Get the table type.
int | tableOption () const
| Get the table option.
void | markForDelete ()
| Mark the table for delete.
void | unmarkForDelete ()
| Unmark the table for delete.
Bool | isMarkedForDelete () const
| Test if the table is marked for delete.
rownr_t | nrow () const
| Get the number of rows.
Bool | canAddRow () const
| Test if it is possible to add a row to this table.
void | addRow (rownr_t nrrow=1, Bool initialize=False)
| Add one or more rows at the end of the table.
Bool | canRemoveRow () const
| Test if it is possible to remove a row from this table.
void | removeRow (rownr_t rownr)
| Remove the given row(s).
void | removeRow (const RowNumbers &rownrs)
TableExprNode | key (const String &keywordName) const
| Create a TableExprNode object for a column or for a keyword in the table keyword set.
TableExprNode | key (const Vector< String > &fieldNames) const
TableExprNode | col (const String &columnName) const
TableExprNode | col (const String &columnName, const Vector< String > &fieldNames) const
TableExprNode | nodeRownr (rownr_t origin=0) const
| Create a TableExprNode object for the rownumber function.
TableExprNode | nodeRandom () const
| Create a TableExprNode object for the rand function.
Table | operator() (const TableExprNode &, rownr_t maxRow=0, rownr_t offset=0) const
| Select rows from a table using an select expression consisting of TableExprNode objects.
Table | operator() (const RowNumbers &rownrs) const
| Select rows using a vector of row numbers.
Table | operator() (const Block< Bool > &mask) const
| Select rows using a mask block.
Table | project (const Block< String > &columnNames) const
| Project the given columns (i.e.
Table | operator& (const Table &) const
| Do logical operations on a table.
Table | operator| (const Table &) const
| Union with another table.
Table | operator- (const Table &) const
| Subtract another table.
Table | operator^ (const Table &) const
| Xor with another table.
Table | operator! () const
| Take complement.
Table | sort (const String &columnName, int=Sort::Ascending, int=Sort::ParSort) const
| Sort a table on one or more columns of scalars.
Table | sort (const Block< String > &columnNames, int=Sort::Ascending, int=Sort::ParSort) const
| Sort on multiple columns.
Table | sort (const Block< String > &columnNames, const Block< Int > &sortOrders, int=Sort::ParSort) const
| Sort on multiple columns.
Table | sort (const Block< String > &columnNames, const Block< std::shared_ptr< BaseCompare > > &compareObjects, const Block< Int > &sortOrders, int=Sort::ParSort) const
| Sort on multiple columns.
RowNumbers | rowNumbers () const
| Get a vector of row numbers in the root table of rows in this table.
RowNumbers | rowNumbers (const Table &that, Bool tryFast=False) const
| Get a vector of row numbers in that table of rows in this table.
void | addColumn (const ColumnDesc &columnDesc, Bool addToParent=True)
| Add a column to the table.
void | addColumn (const ColumnDesc &columnDesc, const String &dataManager, Bool byName, Bool addToParent=True)
| Use an existing data manager with the given name or type.
void | addColumn (const ColumnDesc &columnDesc, const DataManager &dataManager, Bool addToParent=True)
| Use the given data manager (which is a new one).
void | addColumn (const TableDesc &tableDesc, const DataManager &dataManager, Bool addToParent=True)
| Add a bunch of columns using the given new data manager.
void | addColumn (const TableDesc &tableDesc, const Record &dataManagerInfo, Bool addToParent=True)
Bool | canRemoveColumn (const String &columnName) const
| Test if columns can be removed.
Bool | canRemoveColumn (const Vector< String > &columnNames) const
void | removeColumn (const String &columnName)
| Remove columns.
void | removeColumn (const Vector< String > &columnName)
Bool | canRenameColumn (const String &columnName) const
| Test if a column can be renamed.
void | renameColumn (const String &newName, const String &oldName)
| Rename a column.
void | renameHypercolumn (const String &newName, const String &oldName)
void | getTableKeyword (AipsIO &, Bool openWritable)
| Read a table from AipsIO (for TableKeywords).
DataManager * | findDataManager (const String &name, Bool byColumn=False) const
| Find the data manager with the given name or for the given column name.

## Static Public Member Functions

static MSTableMaps | initMaps ()
| Initialize the statics appropriately.
Static Public Member Functions inherited from casacore::MSTable< MSHistoryEnums >
static const String & | columnName (ColEnum which)
| Convert a ColEnum to the actual column name.
static ColEnum | columnType (const String &name)
| Convert a name to a ColEnum.
static DataType | columnDataType (ColEnum which)
| return the data type for a given ColEnum
static const String & | columnStandardComment (ColEnum which)
| return the standard comment for a given ColEnum
static const String & | columnUnit (ColEnum which)
| return the UNIT string for a given ColEnum
static const String & | columnMeasureType (ColEnum which)
| return the MEASURE_TYPE string for a given ColEnum
static void | addColumnToDesc (TableDesc &tabDesc, ColEnum which, Int ndim=-1, const String &refCol="")
| add a column to a TableDesc An exception is thrown for an invalid data type.
static const String & | keywordName (KeyEnum which)
| KeyEnum convenience functions .
static KeyEnum | keywordType (const String &name)
static DataType | keywordDataType (KeyEnum which)
static const String & | keywordStandardComment (KeyEnum which)
static void | addKeyToDesc (TableDesc &, KeyEnum key)
| add a keyword to a TableDesc An exception is thrown for an invalid data type.
static Bool | validate (const TableDesc &tabDesc)
| tableDesc convenience functions
static const TableDesc & | requiredTableDesc ()
| return the required table description
static void | addColumnCompression (TableDesc &td, ColEnum which, Bool autoScale=True, const String &type=String())
| Add the compress option for the given column to the TableDesc.
Static Public Member Functions inherited from casacore::Table
static ScratchCallback * | setScratchCallback (ScratchCallback *)
| Set the pointer to the ScratchCallback function.
static Bool | isOpened (const String &tableName)
| Is the table used (i.e.
static uInt | nAutoLocks ()
| Determine the number of locked tables opened with the AutoLock option (Locked table means locked for read and/or write).
static void | relinquishAutoLocks (Bool all=False)
| Unlock locked tables opened with the AutoLock option.
static Vector< String > | getLockedTables (FileLocker::LockType=FileLocker::Read, int lockOption=-1)
| Get the names of tables locked in this process.
static Bool | isNativeDataType (DataType dtype)
| Test if the given data type is native to the table system.
static String | fileName (const String &tableName)
| Make the table file name.
static Bool | isReadable (const String &tableName, bool throwIf=False)
| Test if a table with the given name exists and is readable.
static Bool | isWritable (const String &tableName, bool throwIf=False)
| Test if a table with the given name exists and is writable.
static Vector< String > | nonWritableFiles (const String &tableName)
| Find the non-writable files in a table.

## Private Attributes

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

## Additional Inherited Members

Public Types inherited from casacore::MSHistoryEnums
enum | PredefinedColumns { UNDEFINED_COLUMN , APPLICATION , APP_PARAMS , CLI_COMMAND , MESSAGE , OBJECT_ID , OBSERVATION_ID , ORIGIN , PRIORITY , TIME , NUMBER_REQUIRED_COLUMNS , NUMBER_PREDEFINED_COLUMNS }
| The HISTORY table colums with predefined meaning. More...
enum | PredefinedKeywords { UNDEFINED_KEYWORD , NUMBER_PREDEFINED_KEYWORDS }
| Keywords with a predefined meaning. More...
Public Types inherited from casacore::MSTable< MSHistoryEnums >
typedef MSHistoryEnums::PredefinedColumns | ColEnum
| Define the column and keyword enuym types.
typedef MSHistoryEnums::PredefinedKeywords | KeyEnum
Public Types inherited from casacore::Table
enum | TableOption { Old , New , NewNoReplace , Scratch , Update , Delete }
| Define the possible options how a table can be opened. More...
enum | TableType { Plain , Memory }
| Define the possible table types. More...
enum | EndianFormat { BigEndian , LittleEndian , LocalEndian , AipsrcEndian }
| Define the possible endian formats in which table data can be stored. More...
typedef void | ScratchCallback(const String &name, Bool isScratch, const String &oldName)
| Define the signature of the function being called when the state of a scratch table changes (i.e.
Protected Member Functions inherited from casacore::MSTable< MSHistoryEnums >
| MSTable ()
| These constructors mirror the Table ones .
| ~MSTable ()
MSTable & | operator= (const MSTable< MSHistoryEnums > &)
| Assignment operator, reference semantics.
Table | referenceCopy (const String &newTableName, const Block< String > &writableColumns) const
| Return a table that references all columns in this table except for those given in writableColumns, those are empty and writable.
Static Protected Member Functions inherited from casacore::MSTable< MSHistoryEnums >
static MSTableMaps & | getMaps ()
| Get the static struct containing all column and keyword mappings.
static void | colMapDef (MSTableMaps &maps, ColEnum col, const String &colName, DataType colType, const String &colComment, const String &colUnit="", const String &colMeasureType="")
| Define an entry in the column maps.
static void | keyMapDef (MSTableMaps &maps, KeyEnum key, const String &keyName, DataType keyType, const String &keyComment)
| Define an entry in the keyword maps.

## Detailed Description

A Table intended to hold a MeasurementSet OBSERVATIONLOG table.

### Intended use:

Public interface

### Review Status

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

### Prerequisite

- MeasurementSet
- MSTable

### Etymology

MSHistory stands for the MeasurementSet ObservationLog table.

### Synopsis

An MSHistory is a table intended to hold the OBSERVATIONLOG 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 75 of file MSHistory.h.

## Constructor & Destructor Documentation

## MSHistory() [1/6]

casacore::MSHistory::MSHistory | ( |  | ) |

This constructs an empty MSHistory.

Referenced by MSHistory(), operator=(), and referenceCopy().

## MSHistory() [2/6]

casacore::MSHistory::MSHistory | ( | const String & | tableName,
|  | TableOption | = Table::Old )

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

### Thrown Exceptions

- AipsError

References casacore::Table::Old, and casacore::Table::tableName().

## MSHistory() [3/6]

casacore::MSHistory::MSHistory | ( | const String & | tableName,
|  | const String & | tableDescName,
|  | TableOption | = Table::Old )

References casacore::Table::Old, and casacore::Table::tableName().

## MSHistory() [4/6]

casacore::MSHistory::MSHistory | ( | SetupNewTable & | newTab,
|  | rownr_t | nrrow = 0,
|  | Bool | initialize = False )

References casacore::False.

## MSHistory() [5/6]

casacore::MSHistory::MSHistory | ( | const Table & | table | ) |

## MSHistory() [6/6]

casacore::MSHistory::MSHistory | ( | const MSHistory & | other | ) |

References MSHistory().

## ~MSHistory()

casacore::MSHistory::~MSHistory | ( |  | ) |

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

- AipsError

## Member Function Documentation

## initMaps()

MSTableMaps casacore::MSHistory::initMaps | ( |  | ) |

static

Initialize the statics appropriately.

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

## operator=()

MSHistory & casacore::MSHistory::operator= | ( | const MSHistory & |  | ) |

Assignment operator, reference semantics.

References MSHistory().

## referenceCopy()

MSHistory casacore::MSHistory::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)..

References MSHistory().

## Member Data Documentation

## hasBeenDestroyed_p

Bool casacore::MSHistory::hasBeenDestroyed_p

private

required by the need to throw an exception in the destructor

Definition at line 128 of file MSHistory.h.

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

- ms/MeasurementSets/MSHistory.h