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

Definition of a Measure Offset in a Table. More...

#include <TableMeasOffsetDesc.h>

List of all members.

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 ()
TableMeasOffsetDescoperator= (const TableMeasOffsetDesc &that)
 Assignment operator (copy semantics).
const MeasuregetOffset () 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 StringcolumnName () 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 TableMeasOffsetDescreconstruct (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

TableMeasDescBaseitsTMDesc
 
   

MeasureHolder itsMeasure
String itsVarColName
Bool itsVarPerArr

Detailed Description

Definition of a Measure Offset in a Table.

Intended use:

Public interface

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1999/12/23
Test programs:
tTableMeasures

Prerequisite

Synopsis

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.

Example

  1. 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);
    

  2. 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);
    

  3. Storing an offset per array element per row requires one change in the constructor used in the previous example:
           ..\.
           // 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 .

Motivation

Creating the required keyword for the definition of a Measure in a Table is somewhat complicated. This class assists in that process.

Thrown Exceptions

Definition at line 144 of file TableMeasOffsetDesc.h.


Constructor & Destructor Documentation

Constructor which defines a constant (non-variable) offset.

All measures in the columns will have the same offset.

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.

Copy constructor (copy semantics).

casa::TableMeasOffsetDesc::TableMeasOffsetDesc ( const TableRecord measInfo,
const String prefix,
const Table  
) [private]

Constructor which uses the measInfo TableRecord.


Member Function Documentation

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().

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().

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().

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.

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.


Member Data Documentation

Definition at line 200 of file TableMeasOffsetDesc.h.

   

Definition at line 199 of file TableMeasOffsetDesc.h.

Referenced by isVariable().

Definition at line 201 of file TableMeasOffsetDesc.h.

Referenced by columnName().

Definition at line 202 of file TableMeasOffsetDesc.h.

Referenced by isArray().


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