casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::TSMDataColumn Class Reference

A data column in Tiled Storage Manager. More...

#include <TSMDataColumn.h>

Inheritance diagram for casacore::TSMDataColumn:
casacore::TSMColumn casacore::StManColumnBase casacore::DataManagerColumn

Public Member Functions

 TSMDataColumn (const TSMColumn &column)
 Create a data column from the given column. More...
 
virtual ~TSMDataColumn ()
 Frees up the storage. More...
 
uInt tilePixelSize () const
 Return the size of a pixel in the tile in external format. More...
 
uInt localPixelSize () const
 Return the size of a pixel in the tile in local format. More...
 
uInt64 dataLength (uInt64 nrPixels) const
 Determine the length to store the given number of pixels. More...
 
void setColumnNumber (uInt colnr)
 Set column sequence number. More...
 
Bool canChangeShape () const
 Changing array shapes for non-FixedShape columns when the parent tiled storage manager can handle it. More...
 
void setShape (rownr_t rownr, const IPosition &shape)
 Set the shape of the data array in the given row. More...
 
void setShapeTiled (rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
 Set the shape and tile shape of the array in the given row. More...
 
Bool isShapeDefined (rownr_t rownr)
 Is the value shape defined in the given row? More...
 
IPosition shape (rownr_t rownr)
 Get the shape of the item in the given row. More...
 
IPosition tileShape (rownr_t rownr)
 Get the tile shape of the item in the given row. More...
 
virtual void getBool (rownr_t rownr, Bool *dataPtr)
 Get a scalar value in the given row. More...
 
virtual void getuChar (rownr_t rownr, uChar *dataPtr)
 
virtual void getShort (rownr_t rownr, Short *dataPtr)
 
virtual void getuShort (rownr_t rownr, uShort *dataPtr)
 
virtual void getInt (rownr_t rownr, Int *dataPtr)
 
virtual void getuInt (rownr_t rownr, uInt *dataPtr)
 
virtual void getInt64 (rownr_t rownr, Int64 *dataPtr)
 
virtual void getfloat (rownr_t rownr, float *dataPtr)
 
virtual void getdouble (rownr_t rownr, double *dataPtr)
 
virtual void getComplex (rownr_t rownr, Complex *dataPtr)
 
virtual void getDComplex (rownr_t rownr, DComplex *dataPtr)
 
virtual void putBool (rownr_t rownr, const Bool *dataPtr)
 Put a scalar value into the given row. More...
 
virtual void putuChar (rownr_t rownr, const uChar *dataPtr)
 
virtual void putShort (rownr_t rownr, const Short *dataPtr)
 
virtual void putuShort (rownr_t rownr, const uShort *dataPtr)
 
virtual void putInt (rownr_t rownr, const Int *dataPtr)
 
virtual void putuInt (rownr_t rownr, const uInt *dataPtr)
 
virtual void putInt64 (rownr_t rownr, const Int64 *dataPtr)
 
virtual void putfloat (rownr_t rownr, const float *dataPtr)
 
virtual void putdouble (rownr_t rownr, const double *dataPtr)
 
virtual void putComplex (rownr_t rownr, const Complex *dataPtr)
 
virtual void putDComplex (rownr_t rownr, const DComplex *dataPtr)
 
virtual void getArrayV (rownr_t rownr, ArrayBase &data)
 Get the array value in the given row. More...
 
virtual void putArrayV (rownr_t rownr, const ArrayBase &data)
 Put the array value into the given row. More...
 
virtual void getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &dataPtr)
 Get into a section of the array in the given row. More...
 
virtual void putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
 Put into a section of the array in the given row. More...
 
virtual void getArrayColumnV (ArrayBase &arr)
 Get all array values in the column. More...
 
virtual void putArrayColumnV (const ArrayBase &arr)
 Put all array values in the column. More...
 
virtual void getArrayColumnCellsV (const RefRows &rownrs, ArrayBase &data)
 Get the array values in some cells of the column. More...
 
virtual void putArrayColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr)
 Put the array values into some cells of the column. More...
 
virtual void getColumnSliceV (const Slicer &slicer, ArrayBase &arr)
 Get a section of all arrays in the column. More...
 
virtual void putColumnSliceV (const Slicer &slicer, const ArrayBase &data)
 Put a section into all array values in the column. More...
 
virtual void getColumnSliceCellsV (const RefRows &rownrs, const Slicer &ns, ArrayBase &data)
 Get a section from some cells of the column. More...
 
virtual void putColumnSliceCellsV (const RefRows &rownrs, const Slicer &ns, const ArrayBase &data)
 Put into a section of some cells of the column. More...
 
void readTile (void *to, const void *from, uInt nrPixels)
 Read the data of the column from a tile. More...
 
void writeTile (void *to, const void *from, uInt nrPixels)
 Write the data of the column into a tile. More...
 
Conversion::ValueFunctiongetConvertFunction (Bool writeFlag) const
 Get the function to convert from external to local format (or vice-versa if writeFlag=True). More...
 
size_t getNrConvert () const
 Get nr of elements in a value to convert (usually 1, but 2 for Complex). More...
 
Bool isConversionNeeded () const
 Does a conversion (byte swap) needs to be done? More...
 
- Public Member Functions inherited from casacore::TSMColumn
 TSMColumn (TiledStMan *stman, int dataType, const String &columnName)
 Create a column of the given type. More...
 
virtual ~TSMColumn ()
 Frees up the storage. More...
 
const StringcolumnName () const
 Get the name of the column. More...
 
virtual int dataType () const
 Return the data type of the column. More...
 
void setShapeColumn (const IPosition &shape)
 Set the fixed shape of the column. More...
 
const IPositionshapeColumn () const
 Get the fixed shape of the column. More...
 
TSMDataColumnmakeDataColumn ()
 Make a TSM data column object. More...
 
TSMCoordColumnmakeCoordColumn (uInt axesNumber)
 Make a TSM coordinate column object. More...
 
TSMIdColumnmakeIdColumn ()
 Make a TSM id column object. More...
 
TSMColumnunlink ()
 Unlink the underlying column. More...
 
- Public Member Functions inherited from casacore::StManColumnBase
 StManColumnBase (int dataType)
 Default constructor. More...
 
 ~StManColumnBase ()
 
DataType dtype () const
 
Int elemSize () const
 Return the size of an element of the column's data type. More...
 
- Public Member Functions inherited from casacore::DataManagerColumn
 DataManagerColumn ()
 Create a column. More...
 
virtual ~DataManagerColumn ()
 Frees up the storage. More...
 
void setIsFixedShape (Bool isFixedShape)
 Set the isFixedShape flag. More...
 
Bool isFixedShape () const
 Is this a fixed shape column? More...
 
virtual String dataTypeId () const
 Get the data type id of the column for dataType==TpOther. More...
 
virtual Bool isWritable () const
 Test if data can be put into this column. More...
 
virtual void setMaxLength (uInt maxLength)
 Set the maximum length of the value (can be used for strings). More...
 
void setFixedShapeColumn (const IPosition &shape)
 Set the shape of all (fixed-shaped) arrays in the column. More...
 
virtual uInt ndim (rownr_t rownr)
 Get the dimensionality of the item in the given row. More...
 
ColumnCachecolumnCache ()
 Get access to the ColumnCache object. More...
 
const ColumnCachecolumnCachePtr () const
 
void get (rownr_t rownr, Bool *dataPtr)
 Get the scalar value in the given row. More...
 
void get (rownr_t rownr, uChar *dataPtr)
 
void get (rownr_t rownr, Short *dataPtr)
 
void get (rownr_t rownr, uShort *dataPtr)
 
void get (rownr_t rownr, Int *dataPtr)
 
void get (rownr_t rownr, uInt *dataPtr)
 
void get (rownr_t rownr, Int64 *dataPtr)
 
void get (rownr_t rownr, float *dataPtr)
 
void get (rownr_t rownr, double *dataPtr)
 
void get (rownr_t rownr, Complex *dataPtr)
 
void get (rownr_t rownr, DComplex *dataPtr)
 
void get (rownr_t rownr, String *dataPtr)
 
void get (rownr_t rownr, void *dataPtr)
 This function is the get for all non-standard data types. More...
 
void put (rownr_t rownr, const Bool *dataPtr)
 Put the scalar value into the given row. More...
 
void put (rownr_t rownr, const uChar *dataPtr)
 
void put (rownr_t rownr, const Short *dataPtr)
 
void put (rownr_t rownr, const uShort *dataPtr)
 
void put (rownr_t rownr, const Int *dataPtr)
 
void put (rownr_t rownr, const uInt *dataPtr)
 
void put (rownr_t rownr, const Int64 *dataPtr)
 
void put (rownr_t rownr, const float *dataPtr)
 
void put (rownr_t rownr, const double *dataPtr)
 
void put (rownr_t rownr, const Complex *dataPtr)
 
void put (rownr_t rownr, const DComplex *dataPtr)
 
void put (rownr_t rownr, const String *dataPtr)
 
void put (rownr_t rownr, const void *dataPtr)
 This function is the put for all non-standard data types. More...
 
virtual void getScalarColumnV (ArrayBase &dataPtr)
 Get all scalar values in the column. More...
 
virtual void putScalarColumnV (const ArrayBase &dataPtr)
 Put all scalar values in the column. More...
 
virtual void getScalarColumnCellsV (const RefRows &rownrs, ArrayBase &dataPtr)
 Get some scalar values in the column. More...
 
virtual void putScalarColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr)
 Put some scalar values in the column. More...
 
void throwGet () const
 Throw an "invalid operation" exception for the default implementation of get. More...
 
void throwPut () const
 Throw an "invalid operation" exception for the default implementation of put. More...
 
void setColumnName (const String &colName)
 Set the column name. More...
 
const StringcolumnName () const
 Get rhe column name. More...
 

Private Member Functions

 TSMDataColumn (const TSMDataColumn &)
 Forbid copy constructor. More...
 
TSMDataColumnoperator= (const TSMDataColumn &)
 Forbid assignment. More...
 
void accessCell (rownr_t rownr, const void *dataPtr, Bool writeFlag)
 Read or write a data cell in the cube. More...
 
void accessCellSlice (rownr_t rownr, const Slicer &ns, const void *dataPtr, Bool writeFlag)
 Read or write a slice of a data cell in the cube. More...
 
void accessColumn (const void *dataPtr, Bool writeFlag)
 Read or write an entire column. More...
 
void accessColumnSlice (const Slicer &ns, const void *dataPtr, Bool writeFlag)
 Read or write a slice from the entire column. More...
 
void accessColumnCells (const RefRows &rownrs, const IPosition &shape, const void *dataPtr, Bool writeFlag)
 Read or write some cells in a column. More...
 
void accessColumnSliceCells (const RefRows &rownrs, const Slicer &ns, const IPosition &shape, const void *dataPtr, Bool writeFlag)
 Read or write some cells in a column. More...
 
void accessFullCells (TSMCube *hypercube, char *dataPtr, Bool writeFlag, const IPosition &start, const IPosition &end, const IPosition &incr)
 Read or write the full cells given by start,end,incr. More...
 
void accessSlicedCells (TSMCube *hypercube, char *dataPtr, Bool writeFlag, const IPosition &start, const IPosition &end, const IPosition &incr)
 Read or write the sliced cells given by start,end,incr. More...
 

Private Attributes

uInt tilePixelSize_p
 The (canonical) size of a pixel in a tile. More...
 
uInt localPixelSize_p
 The local size of a pixel. More...
 
uInt convPixelSize_p
 The multiplication factor for a conversion operation. More...
 
Bool mustConvert_p
 Is a conversion necessary? More...
 
uInt colnr_p
 The column sequence number. More...
 
Conversion::ValueFunctionreadFunc_p
 The conversion function needed when reading. More...
 
Conversion::ValueFunctionwriteFunc_p
 The conversion function needed when writing. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from casacore::StManColumnBase
static Bool isNativeDataType (int dtype)
 Test if the given data type is supported by storage managers. More...
 
- Protected Member Functions inherited from casacore::TSMColumn
 TSMColumn (const TSMColumn &that)
 The copy constructor can only be used to copy a derived class. More...
 
- Protected Member Functions inherited from casacore::DataManagerColumn
virtual void getString (rownr_t rownr, String *dataPtr)
 
virtual void getOther (rownr_t rownr, void *dataPtr)
 This function is the get for all non-standard data types. More...
 
virtual void putString (rownr_t rownr, const String *dataPtr)
 
virtual void putOther (rownr_t rownr, const void *dataPtr)
 This function is the put for all non-standard data types. More...
 
void getScalarColumnBase (ArrayBase &dataPtr)
 The default implementations of get and put functions. More...
 
void putScalarColumnBase (const ArrayBase &dataPtr)
 
void getScalarColumnCellsBase (const RefRows &rownrs, ArrayBase &dataPtr)
 
void putScalarColumnCellsBase (const RefRows &rownrs, const ArrayBase &dataPtr)
 
void getArrayColumnBase (ArrayBase &data)
 
void putArrayColumnBase (const ArrayBase &data)
 
void getArrayColumnCellsBase (const RefRows &rownrs, ArrayBase &data)
 
void putArrayColumnCellsBase (const RefRows &rownrs, const ArrayBase &data)
 
void getSliceBase (rownr_t rownr, const Slicer &slicer, ArrayBase &data)
 
void putSliceBase (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
 
void getColumnSliceBase (const Slicer &slicer, ArrayBase &data)
 
void putColumnSliceBase (const Slicer &slicer, const ArrayBase &data)
 
void getColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
 
void putColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
 
- Protected Attributes inherited from casacore::TSMColumn
TiledStManstmanPtr_p
 The storage manager. More...
 
int dtype_p
 The data type of the data (as defined in DataType.h). More...
 
String name_p
 The name of the column. More...
 
IPosition columnShape_p
 The fixed shape of the column. More...
 
TSMColumncolPtr_p
 The specialized column object (i.e. More...
 

Detailed Description

A data column in Tiled Storage Manager.

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

TSMDataColumn handles a data column for a Tiled Storage Manager.

Synopsis

TSMDataColumn is used by TiledStMan to handle the access to a table column containing data of a tiled hypercube axis. The data in a cell can be a scalar or an array (depending on its definition in the table column description). The shapes of the coordinates and the data are related. Therefore the function setShape checks if the data shape matches the coordinates shape.

The data are held in a TSMCube object. The row number determines which TSMCube object has to be accessed.

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

Motivation

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

Definition at line 96 of file TSMDataColumn.h.

Constructor & Destructor Documentation

casacore::TSMDataColumn::TSMDataColumn ( const TSMColumn column)

Create a data column from the given column.

virtual casacore::TSMDataColumn::~TSMDataColumn ( )
virtual

Frees up the storage.

casacore::TSMDataColumn::TSMDataColumn ( const TSMDataColumn )
private

Forbid copy constructor.

Member Function Documentation

void casacore::TSMDataColumn::accessCell ( rownr_t  rownr,
const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write a data cell in the cube.

A cell can contain a scalar or an array (depending on the column definition).

void casacore::TSMDataColumn::accessCellSlice ( rownr_t  rownr,
const Slicer ns,
const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write a slice of a data cell in the cube.

void casacore::TSMDataColumn::accessColumn ( const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write an entire column.

This can only be done if one hypercube is used.

void casacore::TSMDataColumn::accessColumnCells ( const RefRows rownrs,
const IPosition shape,
const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write some cells in a column.

It tries to optimize by looking for regular row strides.

void casacore::TSMDataColumn::accessColumnSlice ( const Slicer ns,
const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write a slice from the entire column.

This can only be done if one hypercube is used.

void casacore::TSMDataColumn::accessColumnSliceCells ( const RefRows rownrs,
const Slicer ns,
const IPosition shape,
const void *  dataPtr,
Bool  writeFlag 
)
private

Read or write some cells in a column.

It tries to optimize by looking for regular row strides.

void casacore::TSMDataColumn::accessFullCells ( TSMCube hypercube,
char *  dataPtr,
Bool  writeFlag,
const IPosition start,
const IPosition end,
const IPosition incr 
)
private

Read or write the full cells given by start,end,incr.

void casacore::TSMDataColumn::accessSlicedCells ( TSMCube hypercube,
char *  dataPtr,
Bool  writeFlag,
const IPosition start,
const IPosition end,
const IPosition incr 
)
private

Read or write the sliced cells given by start,end,incr.

Bool casacore::TSMDataColumn::canChangeShape ( ) const
virtual

Changing array shapes for non-FixedShape columns when the parent tiled storage manager can handle it.

Reimplemented from casacore::DataManagerColumn.

uInt64 casacore::TSMDataColumn::dataLength ( uInt64  nrPixels) const

Determine the length to store the given number of pixels.

virtual void casacore::TSMDataColumn::getArrayColumnCellsV ( const RefRows rownrs,
ArrayBase data 
)
virtual

Get the array values in some cells of the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumnCells function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getArrayColumnV ( ArrayBase arr)
virtual

Get all array values in the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getArrayV ( rownr_t  rownr,
ArrayBase data 
)
virtual

Get the array value in the given row.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn get function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getBool ( rownr_t  rownr,
Bool dataPtr 
)
virtual

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

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getColumnSliceCellsV ( const RefRows rownrs,
const Slicer ns,
ArrayBase data 
)
virtual

Get a section from some cells of the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumnCells function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getColumnSliceV ( const Slicer slicer,
ArrayBase arr 
)
virtual

Get a section of all arrays in the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getComplex ( rownr_t  rownr,
Complex *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

Conversion::ValueFunction* casacore::TSMDataColumn::getConvertFunction ( Bool  writeFlag) const
inline

Get the function to convert from external to local format (or vice-versa if writeFlag=True).

Definition at line 257 of file TSMDataColumn.h.

References readFunc_p, and writeFunc_p.

virtual void casacore::TSMDataColumn::getDComplex ( rownr_t  rownr,
DComplex *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getdouble ( rownr_t  rownr,
double *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getfloat ( rownr_t  rownr,
float *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getInt ( rownr_t  rownr,
Int dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getInt64 ( rownr_t  rownr,
Int64 dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

size_t casacore::TSMDataColumn::getNrConvert ( ) const
inline

Get nr of elements in a value to convert (usually 1, but 2 for Complex).

Definition at line 261 of file TSMDataColumn.h.

References convPixelSize_p.

virtual void casacore::TSMDataColumn::getShort ( rownr_t  rownr,
Short dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getSliceV ( rownr_t  rownr,
const Slicer slicer,
ArrayBase dataPtr 
)
virtual

Get into a section of the array in the given row.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn putSlice function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getuChar ( rownr_t  rownr,
uChar dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getuInt ( rownr_t  rownr,
uInt dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::getuShort ( rownr_t  rownr,
uShort dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

Bool casacore::TSMDataColumn::isConversionNeeded ( ) const
inline

Does a conversion (byte swap) needs to be done?

Definition at line 265 of file TSMDataColumn.h.

References mustConvert_p.

Bool casacore::TSMDataColumn::isShapeDefined ( rownr_t  rownr)
virtual

Is the value shape defined in the given row?

Reimplemented from casacore::DataManagerColumn.

uInt casacore::TSMDataColumn::localPixelSize ( ) const
inline

Return the size of a pixel in the tile in local format.

Definition at line 342 of file TSMDataColumn.h.

References localPixelSize_p.

TSMDataColumn& casacore::TSMDataColumn::operator= ( const TSMDataColumn )
private

Forbid assignment.

virtual void casacore::TSMDataColumn::putArrayColumnCellsV ( const RefRows rownrs,
const ArrayBase dataPtr 
)
virtual

Put the array values into some cells of the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putArrayColumnV ( const ArrayBase arr)
virtual

Put all array values in the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putArrayV ( rownr_t  rownr,
const ArrayBase data 
)
virtual

Put the array value into the given row.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn put function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putBool ( rownr_t  rownr,
const Bool dataPtr 
)
virtual

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

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putColumnSliceCellsV ( const RefRows rownrs,
const Slicer ns,
const ArrayBase data 
)
virtual

Put into a section of some cells of the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn putColumnSlice function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putColumnSliceV ( const Slicer slicer,
const ArrayBase data 
)
virtual

Put a section into all array values in the column.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putComplex ( rownr_t  rownr,
const Complex *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putDComplex ( rownr_t  rownr,
const DComplex *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putdouble ( rownr_t  rownr,
const double *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putfloat ( rownr_t  rownr,
const float *  dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putInt ( rownr_t  rownr,
const Int dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putInt64 ( rownr_t  rownr,
const Int64 dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putShort ( rownr_t  rownr,
const Short dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putSliceV ( rownr_t  rownr,
const Slicer slicer,
const ArrayBase data 
)
virtual

Put into a section of the array in the given row.

The array given in data has to have the correct shape (which is guaranteed by the ArrayColumn putSlice function).

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putuChar ( rownr_t  rownr,
const uChar dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putuInt ( rownr_t  rownr,
const uInt dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

virtual void casacore::TSMDataColumn::putuShort ( rownr_t  rownr,
const uShort dataPtr 
)
virtual

Reimplemented from casacore::DataManagerColumn.

void casacore::TSMDataColumn::readTile ( void *  to,
const void *  from,
uInt  nrPixels 
)
inline

Read the data of the column from a tile.

(I.e. convert from external to local format).

Definition at line 350 of file TSMDataColumn.h.

References convPixelSize_p, and readFunc_p.

void casacore::TSMDataColumn::setColumnNumber ( uInt  colnr)
inline

Set column sequence number.

Definition at line 346 of file TSMDataColumn.h.

References colnr_p.

void casacore::TSMDataColumn::setShape ( rownr_t  rownr,
const IPosition shape 
)
virtual

Set the shape of the data array in the given row.

It will check if it matches already defined data and coordinates shapes. It will define undefined data and coordinates shapes.

Reimplemented from casacore::DataManagerColumn.

void casacore::TSMDataColumn::setShapeTiled ( rownr_t  rownr,
const IPosition shape,
const IPosition tileShape 
)
virtual

Set the shape and tile shape of the array in the given row.

It will check if it matches already defined data and coordinates shapes. It will define undefined data and coordinates shapes. The tile shape is adjusted to the array shape (size 0 gets set to 1; size > cubesize gets set to the cubesize).

Reimplemented from casacore::DataManagerColumn.

IPosition casacore::TSMDataColumn::shape ( rownr_t  rownr)
virtual

Get the shape of the item in the given row.

Reimplemented from casacore::DataManagerColumn.

uInt casacore::TSMDataColumn::tilePixelSize ( ) const
inline

Return the size of a pixel in the tile in external format.

Definition at line 338 of file TSMDataColumn.h.

References tilePixelSize_p.

IPosition casacore::TSMDataColumn::tileShape ( rownr_t  rownr)
virtual

Get the tile shape of the item in the given row.

Reimplemented from casacore::DataManagerColumn.

void casacore::TSMDataColumn::writeTile ( void *  to,
const void *  from,
uInt  nrPixels 
)
inline

Write the data of the column into a tile.

(I.e. convert from local to external format).

Definition at line 355 of file TSMDataColumn.h.

References convPixelSize_p, and writeFunc_p.

Member Data Documentation

uInt casacore::TSMDataColumn::colnr_p
private

The column sequence number.

Definition at line 279 of file TSMDataColumn.h.

Referenced by setColumnNumber().

uInt casacore::TSMDataColumn::convPixelSize_p
private

The multiplication factor for a conversion operation.

This is the pixel size when a memcpy can be used, otherwise it is 1.

Definition at line 275 of file TSMDataColumn.h.

Referenced by getNrConvert(), readTile(), and writeTile().

uInt casacore::TSMDataColumn::localPixelSize_p
private

The local size of a pixel.

Definition at line 272 of file TSMDataColumn.h.

Referenced by localPixelSize().

Bool casacore::TSMDataColumn::mustConvert_p
private

Is a conversion necessary?

Definition at line 277 of file TSMDataColumn.h.

Referenced by isConversionNeeded().

Conversion::ValueFunction* casacore::TSMDataColumn::readFunc_p
private

The conversion function needed when reading.

Definition at line 281 of file TSMDataColumn.h.

Referenced by getConvertFunction(), and readTile().

uInt casacore::TSMDataColumn::tilePixelSize_p
private

The (canonical) size of a pixel in a tile.

Definition at line 270 of file TSMDataColumn.h.

Referenced by tilePixelSize().

Conversion::ValueFunction* casacore::TSMDataColumn::writeFunc_p
private

The conversion function needed when writing.

Definition at line 283 of file TSMDataColumn.h.

Referenced by getConvertFunction(), and writeTile().


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