TSMCoordColumn.h

Classes

TSMCoordColumn -- A coordinate column in Tiled Storage Manager (full description)

class TSMCoordColumn : public TSMColumn

Interface

Public Members
TSMCoordColumn (const TSMColumn& column, uInt axisNr)
virtual ~TSMCoordColumn()
void setShape (uInt rownr, const IPosition& shape)
Bool isShapeDefined (uInt rownr)
IPosition shape (uInt rownr)
void getIntV (uInt rownr, Int* dataPtr)
void getuIntV (uInt rownr, uInt* dataPtr)
void getfloatV (uInt rownr, float* dataPtr)
void getdoubleV (uInt rownr, double* dataPtr)
void getComplexV (uInt rownr, Complex* dataPtr)
void getDComplexV (uInt rownr, DComplex* dataPtr)
void putIntV (uInt rownr, const Int* dataPtr)
void putuIntV (uInt rownr, const uInt* dataPtr)
void putfloatV (uInt rownr, const float* dataPtr)
void putdoubleV (uInt rownr, const double* dataPtr)
void putComplexV (uInt rownr, const Complex* dataPtr)
void putDComplexV (uInt rownr, const DComplex* dataPtr)
void getArrayIntV (uInt rownr, Array<Int>* dataPtr)
void getArrayuIntV (uInt rownr, Array<uInt>* dataPtr)
void getArrayfloatV (uInt rownr, Array<float>* dataPtr)
void getArraydoubleV (uInt rownr, Array<double>* dataPtr)
void getArrayComplexV (uInt rownr, Array<Complex>* dataPtr)
void getArrayDComplexV (uInt rownr, Array<DComplex>* dataPtr)
void putArrayIntV (uInt rownr, const Array<Int>* dataPtr)
void putArrayuIntV (uInt rownr, const Array<uInt>* dataPtr)
void putArrayfloatV (uInt rownr, const Array<float>* dataPtr)
void putArraydoubleV (uInt rownr, const Array<double>* dataPtr)
void putArrayComplexV (uInt rownr, const Array<Complex>* dataPtr)
void putArrayDComplexV (uInt rownr, const Array<DComplex>* dataPtr)
Private Members
TSMCoordColumn (const TSMCoordColumn&)
TSMCoordColumn& operator= (const TSMCoordColumn&)

Description

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

TSMCoordColumn handles a coordinate column for a Tiled Storage Manager.

Synopsis

TSMCoordColumn is used by TiledStMan to handle the access to a table column containing coordinates of a tiled hypercube axis. There are 2 types of coordinates (as described at TableDesc::defineHypercolumn):
  1. As a vector. These are the coordinates of the arrays held in the data cells. They are accessed via the get/putArray functions. Their shapes are dependent on the hypercube shape, so it is checked if they match.
  2. As a scalar. These are the coordinates of the extra axes defined in the hypercube. They are accessed via the get/put functions.
The coordinates are held in a TSMCube object. The row number determines which TSMCube object has to be accessed.

The creation of a TSMCoordColumn object is done by a TSMColumn object. This process is described in more detail in the class TSMColumn.

Motivation

Handling coordinate columns in the Tiled Storage Manager is different from other columns.

Member Description

TSMCoordColumn (const TSMColumn& column, uInt axisNr)

Create a coordinate column from the given column.

virtual ~TSMCoordColumn()

Frees up the storage.

void setShape (uInt rownr, const IPosition& shape)

Set the shape of the coordinate vector in the given row.

Bool isShapeDefined (uInt rownr)

Is the value shape defined in the given row?

IPosition shape (uInt rownr)

Get the shape of the item in the given row.

void getIntV (uInt rownr, Int* dataPtr)
void getuIntV (uInt rownr, uInt* dataPtr)
void getfloatV (uInt rownr, float* dataPtr)
void getdoubleV (uInt rownr, double* dataPtr)
void getComplexV (uInt rownr, Complex* dataPtr)
void getDComplexV (uInt rownr, DComplex* dataPtr)

Get a scalar value in the given row. The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the Scalar/ArrayColumn get function).

void putIntV (uInt rownr, const Int* dataPtr)
void putuIntV (uInt rownr, const uInt* dataPtr)
void putfloatV (uInt rownr, const float* dataPtr)
void putdoubleV (uInt rownr, const double* dataPtr)
void putComplexV (uInt rownr, const Complex* dataPtr)
void putDComplexV (uInt rownr, const DComplex* dataPtr)

Put a scalar value into the given row. The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the Scalar/ArrayColumn put function).

void getArrayIntV (uInt rownr, Array<Int>* dataPtr)
void getArrayuIntV (uInt rownr, Array<uInt>* dataPtr)
void getArrayfloatV (uInt rownr, Array<float>* dataPtr)
void getArraydoubleV (uInt rownr, Array<double>* dataPtr)
void getArrayComplexV (uInt rownr, Array<Complex>* dataPtr)
void getArrayDComplexV (uInt rownr, Array<DComplex>* dataPtr)

Get the array value in the given row. The array pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn get function). The default implementation thrown an "invalid operation exception".

void putArrayIntV (uInt rownr, const Array<Int>* dataPtr)
void putArrayuIntV (uInt rownr, const Array<uInt>* dataPtr)
void putArrayfloatV (uInt rownr, const Array<float>* dataPtr)
void putArraydoubleV (uInt rownr, const Array<double>* dataPtr)
void putArrayComplexV (uInt rownr, const Array<Complex>* dataPtr)
void putArrayDComplexV (uInt rownr, const Array<DComplex>* dataPtr)

Put the array value into the given row. The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn put function). The default implementation thrown an "invalid operation exception".

TSMCoordColumn (const TSMCoordColumn&)

Forbid copy constructor.

TSMCoordColumn& operator= (const TSMCoordColumn&)

Forbid assignment.