casa
$Rev:20696$
|
Definition of a Measure Offset in a Table. More...
#include <TableMeasOffsetDesc.h>
Public Member Functions | |
TableMeasOffsetDesc (const Measure &offset) | |
Constructor which defines a constant (non-variable) offset. | |
TableMeasOffsetDesc (const TableMeasDescBase &offsetColumn, Bool asArray=False) | |
Constructor for defining a variable offset. | |
TableMeasOffsetDesc (const TableMeasOffsetDesc &that) | |
Copy constructor (copy semantics). | |
~TableMeasOffsetDesc () | |
TableMeasOffsetDesc & | operator= (const TableMeasOffsetDesc &that) |
Assignment operator (copy semantics). | |
const Measure & | getOffset () const |
Get the (non-variable) measure offset for this column. | |
Bool | isVariable () const |
Returns True if the offset varies per row. | |
Bool | isArray () const |
Returns True if the offset varies per array element. | |
const String & | columnName () const |
Gets the name of the column which stores the variable offset. | |
void | resetOffset (const Measure &offset) |
Reset the offset. | |
void | write (TableDesc &, TableRecord &measInfo, const String &prefix) |
Write the information into the record. | |
void | write (Table &, TableRecord &measInfo, const String &prefix) |
Static Public Member Functions | |
static TableMeasOffsetDesc * | reconstruct (const TableRecord &measInfo, const String &prefix, const Table &tab) |
Reconstructs the TableMeasOffsetDesc from the measInfo TableRecord. | |
Private Member Functions | |
TableMeasOffsetDesc (const TableRecord &measInfo, const String &prefix, const Table &) | |
Constructor which uses the measInfo TableRecord. | |
void | writeKeys (TableRecord &measInfo, const String &prefix) |
Write the actual keywords. | |
Private Attributes | |
TableMeasDescBase * | itsTMDesc |
MeasureHolder | itsMeasure |
String | itsVarColName |
Bool | itsVarPerArr |
Definition of a Measure Offset in a Table.
Public interface
This class assists in the definition of the offset component of a TableMeasDesc in the TableMeasures system. Four possibilities exist for specifying the handling of measure offsets in a Measure column. These are:
Note that this last option is only relevant when using ArrayMeasColumns.
Examples of each of these follow.
Specifying a single fixed offset. Note that a Measure offset is itself a measure
// create an MEpoch to use as the offset in an MEpoch column MEpoch offset(MVEpoch(MVTime(1996, 5, 17, (8+18./60.)/24.)), MEpoch::UTC); TableMeasOffsetDesc offsetDesc(offset);
Storing an offset per row needs an offset column. Measure offsets are Measures so a Measure column is needed:
// Need a column for the offsets. This is to be a Measure column, // so the rules for creating a Measure column apply. ArrayColumnDesc<Double> cdOffset("OffsetCol", "Variable Offset col"); ..\. // add the column to the table td.addColumn(cdOffset); ..\. // Create the Measure column to be used as the measure offset column TableMeasValueDesc valDesc(td, "OffsetCol"); TableMeasDesc<MEpoch> offset(valDesc); // Create the offset descriptor TableMeasOffsetDesc offsetDesc(offset);
..\. // set up column and TableMeasDesc as before ..\. // Setting the asArray parameter to True in the constructor specifies // per element offset storage TableMeasOffsetDesc offsetDesc(offset, True);
For an example of the use of the TableMeasOffsetDesc class in the context of a full TableMeasDesc declaration see class TableMeasDesc .
Creating the required keyword for the definition of a Measure in a Table is somewhat complicated. This class assists in that process.
Definition at line 144 of file TableMeasOffsetDesc.h.
casa::TableMeasOffsetDesc::TableMeasOffsetDesc | ( | const Measure & | offset | ) |
Constructor which defines a constant (non-variable) offset.
All measures in the columns will have the same offset.
casa::TableMeasOffsetDesc::TableMeasOffsetDesc | ( | const TableMeasDescBase & | offsetColumn, |
Bool | asArray = False |
||
) |
Constructor for defining a variable offset.
If asArray is True then the offset is stored per array element. The default is for the offset to be stored (and hence variable) per row.
casa::TableMeasOffsetDesc::TableMeasOffsetDesc | ( | const TableMeasOffsetDesc & | that | ) |
Copy constructor (copy semantics).
casa::TableMeasOffsetDesc::TableMeasOffsetDesc | ( | const TableRecord & | measInfo, |
const String & | prefix, | ||
const Table & | |||
) | [private] |
Constructor which uses the measInfo TableRecord.
const String& casa::TableMeasOffsetDesc::columnName | ( | ) | const [inline] |
Gets the name of the column which stores the variable offset.
"" is returned if the offset is not variable.
Definition at line 184 of file TableMeasOffsetDesc.h.
References itsVarColName.
Referenced by casa::TableMeasRefDesc::offsetColumnName().
const Measure& casa::TableMeasOffsetDesc::getOffset | ( | ) | const |
Get the (non-variable) measure offset for this column.
If it doesn't exist (thus if the offset is variable), an exception is thrown.
Referenced by casa::TableMeasRefDesc::getOffset().
Bool casa::TableMeasOffsetDesc::isArray | ( | ) | const [inline] |
Returns True if the offset varies per array element.
Definition at line 179 of file TableMeasOffsetDesc.h.
References isVariable(), and itsVarPerArr.
Referenced by casa::TableMeasRefDesc::isOffsetArray().
Bool casa::TableMeasOffsetDesc::isVariable | ( | ) | const [inline] |
Returns True if the offset varies per row.
Definition at line 175 of file TableMeasOffsetDesc.h.
References itsTMDesc.
Referenced by isArray(), and casa::TableMeasRefDesc::isOffsetVariable().
TableMeasOffsetDesc& casa::TableMeasOffsetDesc::operator= | ( | const TableMeasOffsetDesc & | that | ) |
Assignment operator (copy semantics).
static TableMeasOffsetDesc* casa::TableMeasOffsetDesc::reconstruct | ( | const TableRecord & | measInfo, |
const String & | prefix, | ||
const Table & | tab | ||
) | [static] |
Reconstructs the TableMeasOffsetDesc from the measInfo TableRecord.
void casa::TableMeasOffsetDesc::resetOffset | ( | const Measure & | offset | ) |
Reset the offset.
It overwrites the value used when defining the TableMeasDesc. It is only possible if it was defined as fixed for the entire column.
void casa::TableMeasOffsetDesc::write | ( | TableDesc & | , |
TableRecord & | measInfo, | ||
const String & | prefix | ||
) |
Write the information into the record.
void casa::TableMeasOffsetDesc::write | ( | Table & | , |
TableRecord & | measInfo, | ||
const String & | prefix | ||
) |
void casa::TableMeasOffsetDesc::writeKeys | ( | TableRecord & | measInfo, |
const String & | prefix | ||
) | [private] |
Write the actual keywords.
Definition at line 200 of file TableMeasOffsetDesc.h.
Definition at line 201 of file TableMeasOffsetDesc.h.
Referenced by columnName().
Bool casa::TableMeasOffsetDesc::itsVarPerArr [private] |
Definition at line 202 of file TableMeasOffsetDesc.h.
Referenced by isArray().