casa
$Rev:20696$
|
Read only access to table scalar Measure columns. More...
#include <TableMeasColumn.h>
Public Member Functions | |
TableMeasColumn () | |
The default constructor creates a null object. | |
TableMeasColumn (const Table &tab, const String &columnName) | |
Create the ScalarMeasColumn from the table and column Name. | |
TableMeasColumn (const TableMeasColumn &that) | |
Copy constructor (copy semantics). | |
virtual | ~TableMeasColumn () |
void | reference (const TableMeasColumn &that) |
Change the reference to another column. | |
void | attach (const Table &tab, const String &columnName) |
Attach another column to the object. | |
Bool | isDefined (uInt rownr) const |
Tests if a row contains a Measure (i.e., if the row has a defined value). | |
const TableMeasDescBase & | measDesc () const |
Get access to the TableMeasDescBase describing the column. | |
TableMeasDescBase & | measDesc () |
Bool | isNull () const |
Test if the object is null. | |
void | throwIfNull () const |
Throw an exception if the object is null. | |
const String & | columnName () const |
Get the name of the column. | |
Table | table () const |
Get the Table object this column belongs to. | |
Bool | isScalar () const |
Is the column a scalar measures column? It is if the underlying column is a scalar column or an array column with a fixed 1-dimensional shape. | |
Protected Attributes | |
uInt | itsNvals |
CountedPtr< TableMeasDescBase > | itsDescPtr |
TableColumn | itsTabDataCol |
Bool | itsVarRefFlag |
Bool | itsVarOffFlag |
Private Member Functions | |
TableMeasColumn & | operator= (const TableMeasColumn &that) |
Assignment makes no sense in a readonly class. |
Read only access to table scalar Measure columns.
Public interface
TableMeasColumn is the base class for the templated classes ScalarMeasColumn and ArrayMeasColumn which give access to table columns containing measures .
This base class offers some common functionality like getting the column name and testing if a row of the column contains a value. Its main function is measDesc()
, which gives access to the TableMeasDescBase object containing a description of the measure column.
// Create the object for measure column Time1. TableMeasColumn timeCol(tab, "Time1"); // print some details about the column if (timeCol.measDesc().isRefCodeVariable()) { cout << "The column has variable references." << endl; } else { cout << "The fixed MeasRef for the column is: " << timeCol.getMeasRef() << endl; }
This class contains the common functionality for the templated derived classes.
Definition at line 97 of file TableMeasColumn.h.
The default constructor creates a null object.
Useful for creating arrays of ScalarMeasColumn objects. Attempting to use a null object will produce a segmentation fault so care needs to be taken to initialise the objects first by using attach(). An ScalarMeasColumn object can be tested if it is null by using the isNull() member.
casa::TableMeasColumn::TableMeasColumn | ( | const Table & | tab, |
const String & | columnName | ||
) |
Create the ScalarMeasColumn from the table and column Name.
casa::TableMeasColumn::TableMeasColumn | ( | const TableMeasColumn & | that | ) |
Copy constructor (copy semantics).
virtual casa::TableMeasColumn::~TableMeasColumn | ( | ) | [virtual] |
void casa::TableMeasColumn::attach | ( | const Table & | tab, |
const String & | columnName | ||
) |
Attach another column to the object.
Reimplemented in casa::ArrayMeasColumn< M >, casa::ArrayMeasColumn< MRadialVelocity >, casa::ArrayMeasColumn< MDirection >, casa::ArrayMeasColumn< MFrequency >, casa::ArrayMeasColumn< MEpoch >, casa::ScalarMeasColumn< M >, casa::ScalarMeasColumn< MRadialVelocity >, casa::ScalarMeasColumn< MPosition >, casa::ScalarMeasColumn< MDirection >, casa::ScalarMeasColumn< MFrequency >, casa::ScalarMeasColumn< Muvw >, casa::ScalarMeasColumn< MDoppler >, and casa::ScalarMeasColumn< MEpoch >.
const String& casa::TableMeasColumn::columnName | ( | ) | const |
Get the name of the column.
Bool casa::TableMeasColumn::isDefined | ( | uInt | rownr | ) | const |
Tests if a row contains a Measure (i.e., if the row has a defined value).
Bool casa::TableMeasColumn::isNull | ( | ) | const [inline] |
Test if the object is null.
Definition at line 135 of file TableMeasColumn.h.
References itsDescPtr, and casa::SimpleCountedConstPtr< t >::null().
Bool casa::TableMeasColumn::isScalar | ( | ) | const |
Is the column a scalar measures column? It is if the underlying column is a scalar column or an array column with a fixed 1-dimensional shape.
Otherwise it is an array measures column.
Caution: It is not 100% determined if a measure column is an array or a scalar; If the underlying table column is an array with a variable shape, this function will see it as an array measure column; However, it might be accessible as a scalar measure column;
const TableMeasDescBase& casa::TableMeasColumn::measDesc | ( | ) | const [inline] |
Get access to the TableMeasDescBase describing the column.
Definition at line 128 of file TableMeasColumn.h.
References itsDescPtr.
TableMeasDescBase& casa::TableMeasColumn::measDesc | ( | ) | [inline] |
Definition at line 130 of file TableMeasColumn.h.
References itsDescPtr.
TableMeasColumn& casa::TableMeasColumn::operator= | ( | const TableMeasColumn & | that | ) | [private] |
Assignment makes no sense in a readonly class.
Declaring this operator private makes it unusable.
void casa::TableMeasColumn::reference | ( | const TableMeasColumn & | that | ) |
Change the reference to another column.
Table casa::TableMeasColumn::table | ( | ) | const |
Get the Table object this column belongs to.
void casa::TableMeasColumn::throwIfNull | ( | ) | const |
Throw an exception if the object is null.
CountedPtr<TableMeasDescBase> casa::TableMeasColumn::itsDescPtr [protected] |
Definition at line 163 of file TableMeasColumn.h.
Referenced by isNull(), and measDesc().
uInt casa::TableMeasColumn::itsNvals [protected] |
Definition at line 161 of file TableMeasColumn.h.
TableColumn casa::TableMeasColumn::itsTabDataCol [protected] |
Definition at line 165 of file TableMeasColumn.h.
Bool casa::TableMeasColumn::itsVarOffFlag [protected] |
Definition at line 168 of file TableMeasColumn.h.
Bool casa::TableMeasColumn::itsVarRefFlag [protected] |
Definition at line 167 of file TableMeasColumn.h.