28 #ifndef TABLES_TSMDATACOLUMN_H
29 #define TABLES_TSMDATACOLUMN_H
553 void readTile (
void* to,
const void* from,
uInt nrPixels);
600 const void* dataPtr,
Bool writeFlag);
604 const void* dataPtr,
Bool writeFlag);
613 const void* dataPtr,
Bool writeFlag);
618 const void* dataPtr,
Bool writeFlag);
624 const void* dataPtr,
Bool writeFlag);
628 char* dataPtr,
Bool writeFlag,
635 char* dataPtr,
Bool writeFlag,
virtual void getArrayColumnCellsShortV(const RefRows &rownrs, Array< Short > *dataPtr)
void putColumnSliceShortV(const Slicer &slicer, const Array< Short > *dataPtr)
A Vector of integers, for indexing into Array<T> objects.
void putArrayComplexV(uInt rownr, const Array< Complex > *dataPtr)
void accessColumnSlice(const Slicer &ns, const void *dataPtr, Bool writeFlag)
Read or write a slice from the entire column.
void putArrayDComplexV(uInt rownr, const Array< DComplex > *dataPtr)
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
void accessCell(uInt rownr, const void *dataPtr, Bool writeFlag)
Read or write a data cell in the cube.
Bool isShapeDefined(uInt rownr)
Is the value shape defined in the given row?
virtual void getColumnSliceCellsShortV(const RefRows &rownrs, const Slicer &ns, Array< Short > *dataPtr)
uInt dataLength(uInt nrPixels) const
Determine the length to store the given number of pixels.
void getScalarColumnComplexV(Vector< Complex > *arr)
void putSliceShortV(uInt rownr, const Slicer &slicer, const Array< Short > *dataPtr)
void getuShortV(uInt rownr, uShort *dataPtr)
void putColumnSliceuShortV(const Slicer &slicer, const Array< uShort > *dataPtr)
virtual void getColumnSliceCellsdoubleV(const RefRows &rownrs, const Slicer &ns, Array< double > *dataPtr)
void putArrayuShortV(uInt rownr, const Array< uShort > *dataPtr)
void getColumnSliceuShortV(const Slicer &slicer, Array< uShort > *arr)
virtual void putColumnSliceCellsuCharV(const RefRows &rownrs, const Slicer &ns, const Array< uChar > *dataPtr)
void putScalarColumnBoolV(const Vector< Bool > *arr)
Put the scalar values into the entire column.
virtual void getArrayColumnCellsBoolV(const RefRows &rownrs, Array< Bool > *dataPtr)
Get the array values in some cells of the column.
virtual void getArrayColumnCellsIntV(const RefRows &rownrs, Array< Int > *dataPtr)
Conversion::ValueFunction * getConvertFunction(Bool writeFlag) const
Get the function to convert from external to local format (or vice-versa if writeFlag=True).
std::complex< Float > Complex
TSMDataColumn & operator=(const TSMDataColumn &)
Forbid assignment.
virtual void getColumnSliceCellsDComplexV(const RefRows &rownrs, const Slicer &ns, Array< DComplex > *dataPtr)
virtual void putScalarColumnCellsComplexV(const RefRows &rownrs, const Vector< Complex > *dataPtr)
void getArrayColumnComplexV(Array< Complex > *arr)
Bool canAccessColumnSlice(Bool &reask) const
It can handle access to a slice in column if there is one hypercube.
void getArrayColumnInt64V(Array< Int64 > *arr)
void getSliceIntV(uInt rownr, const Slicer &slicer, Array< Int > *dataPtr)
void getArrayColumnShortV(Array< Short > *arr)
Tiled hypercube in a table.
void getSliceInt64V(uInt rownr, const Slicer &slicer, Array< Int64 > *dataPtr)
void putScalarColumnDComplexV(const Vector< DComplex > *arr)
void getArrayuIntV(uInt rownr, Array< uInt > *dataPtr)
virtual void putArrayColumnCellsuCharV(const RefRows &rownrs, const Array< uChar > *dataPtr)
virtual void getArrayColumnCellsuIntV(const RefRows &rownrs, Array< uInt > *dataPtr)
virtual void putColumnSliceCellsBoolV(const RefRows &rownrs, const Slicer &ns, const Array< Bool > *dataPtr)
Put the array values into some cells of the column.
void getArrayuCharV(uInt rownr, Array< uChar > *dataPtr)
void writeTile(void *to, const void *from, uInt nrPixels)
Write the data of the column into a tile.
virtual void putArrayColumnCellsInt64V(const RefRows &rownrs, const Array< Int64 > *dataPtr)
void getArrayInt64V(uInt rownr, Array< Int64 > *dataPtr)
void getScalarColumnShortV(Vector< Short > *arr)
void putSliceIntV(uInt rownr, const Slicer &slicer, const Array< Int > *dataPtr)
void getColumnSliceIntV(const Slicer &slicer, Array< Int > *arr)
void getColumnSliceInt64V(const Slicer &slicer, Array< Int64 > *arr)
virtual void getColumnSliceCellsuShortV(const RefRows &rownrs, const Slicer &ns, Array< uShort > *dataPtr)
void putColumnSlicedoubleV(const Slicer &slicer, const Array< double > *dataPtr)
virtual void putScalarColumnCellsIntV(const RefRows &rownrs, const Vector< Int > *dataPtr)
void putuIntV(uInt rownr, const uInt *dataPtr)
virtual void putScalarColumnCellsInt64V(const RefRows &rownrs, const Vector< Int64 > *dataPtr)
void getSliceDComplexV(uInt rownr, const Slicer &slicer, Array< DComplex > *dataPtr)
virtual void putArrayColumnCellsBoolV(const RefRows &rownrs, const Array< Bool > *dataPtr)
Put the array values into some cells of the column.
virtual void putArrayColumnCellsDComplexV(const RefRows &rownrs, const Array< DComplex > *dataPtr)
void putColumnSliceDComplexV(const Slicer &slicer, const Array< DComplex > *dataPtr)
void putArrayColumndoubleV(const Array< double > *arr)
void putScalarColumnIntV(const Vector< Int > *arr)
void getArrayfloatV(uInt rownr, Array< float > *dataPtr)
void putSliceDComplexV(uInt rownr, const Slicer &slicer, const Array< DComplex > *dataPtr)
virtual void putScalarColumnCellsfloatV(const RefRows &rownrs, const Vector< float > *dataPtr)
virtual void getScalarColumnCellsBoolV(const RefRows &rownrs, Vector< Bool > *dataPtr)
Get the scalar values in some cells of the column.
virtual void getArrayColumnCellsuCharV(const RefRows &rownrs, Array< uChar > *dataPtr)
virtual void putColumnSliceCellsfloatV(const RefRows &rownrs, const Slicer &ns, const Array< float > *dataPtr)
void putArrayColumnDComplexV(const Array< DComplex > *arr)
void getColumnSlicedoubleV(const Slicer &slicer, Array< double > *arr)
virtual void getColumnSliceCellsComplexV(const RefRows &rownrs, const Slicer &ns, Array< Complex > *dataPtr)
virtual void getColumnSliceCellsInt64V(const RefRows &rownrs, const Slicer &ns, Array< Int64 > *dataPtr)
void putScalarColumnInt64V(const Vector< Int64 > *arr)
void putArrayColumnShortV(const Array< Short > *arr)
void putArrayColumnComplexV(const Array< Complex > *arr)
virtual void putArrayColumnCellsfloatV(const RefRows &rownrs, const Array< float > *dataPtr)
void putSliceuCharV(uInt rownr, const Slicer &slicer, const Array< uChar > *dataPtr)
uInt tilePixelSize() const
Return the size of a pixel in the tile in external format.
void accessColumn(const void *dataPtr, Bool writeFlag)
Read or write an entire column.
virtual void getScalarColumnCellsShortV(const RefRows &rownrs, Vector< Short > *dataPtr)
Bool canAccessScalarColumn(Bool &reask) const
It can handle access to a scalar column if there is one hypercube.
void setColumnNumber(uInt colnr)
Set column sequence number.
void getColumnSlicefloatV(const Slicer &slicer, Array< float > *arr)
virtual void getArrayColumnCellsuShortV(const RefRows &rownrs, Array< uShort > *dataPtr)
void putArrayShortV(uInt rownr, const Array< Short > *dataPtr)
void getArrayColumnBoolV(Array< Bool > *arr)
Get the array values in the entire column.
virtual void getScalarColumnCellsDComplexV(const RefRows &rownrs, Vector< DComplex > *dataPtr)
void putColumnSliceComplexV(const Slicer &slicer, const Array< Complex > *dataPtr)
void getColumnSliceDComplexV(const Slicer &slicer, Array< DComplex > *arr)
const_iterator end() const
void getArrayColumnuShortV(Array< uShort > *arr)
Bool isConversionNeeded() const
Does a conversion (byte swap) needs to be done?
void getColumnSliceBoolV(const Slicer &slicer, Array< Bool > *arr)
Get the array values in the entire column.
void putBoolV(uInt rownr, const Bool *dataPtr)
Put a scalar value into the given row.
void getArrayuShortV(uInt rownr, Array< uShort > *dataPtr)
void putuShortV(uInt rownr, const uShort *dataPtr)
void getSlicedoubleV(uInt rownr, const Slicer &slicer, Array< double > *dataPtr)
void putuCharV(uInt rownr, const uChar *dataPtr)
void getArraydoubleV(uInt rownr, Array< double > *dataPtr)
virtual void getColumnSliceCellsBoolV(const RefRows &rownrs, const Slicer &ns, Array< Bool > *dataPtr)
Get the array values in some cells of the column.
void getArrayBoolV(uInt rownr, Array< Bool > *dataPtr)
Get the array value in the given row.
void getSliceBoolV(uInt rownr, const Slicer &slicer, Array< Bool > *dataPtr)
Get the array value in the given row.
void getArrayDComplexV(uInt rownr, Array< DComplex > *dataPtr)
void getSlicefloatV(uInt rownr, const Slicer &slicer, Array< float > *dataPtr)
A data column in Tiled Storage Manager.
virtual void getScalarColumnCellsComplexV(const RefRows &rownrs, Vector< Complex > *dataPtr)
virtual void putColumnSliceCellsInt64V(const RefRows &rownrs, const Slicer &ns, const Array< Int64 > *dataPtr)
void readTile(void *to, const void *from, uInt nrPixels)
Read the data of the column from a tile.
virtual void putColumnSliceCellsuShortV(const RefRows &rownrs, const Slicer &ns, const Array< uShort > *dataPtr)
size_t getNrConvert() const
Get nr of elements in a value to convert (usually 1, but 2 for Complex).
uInt localPixelSize() const
Return the size of a pixel in the tile in local format.
void putScalarColumnShortV(const Vector< Short > *arr)
void putArrayColumnuCharV(const Array< uChar > *arr)
void putArrayColumnIntV(const Array< Int > *arr)
virtual void getArrayColumnCellsfloatV(const RefRows &rownrs, Array< float > *dataPtr)
void getInt64V(uInt rownr, Int64 *dataPtr)
void getScalarColumnfloatV(Vector< float > *arr)
void getShortV(uInt rownr, Short *dataPtr)
void putSliceBoolV(uInt rownr, const Slicer &slicer, const Array< Bool > *dataPtr)
Put the array value into the given row.
void getuCharV(uInt rownr, uChar *dataPtr)
void putColumnSliceuIntV(const Slicer &slicer, const Array< uInt > *dataPtr)
virtual void putColumnSliceCellsComplexV(const RefRows &rownrs, const Slicer &ns, const Array< Complex > *dataPtr)
void getColumnSliceuIntV(const Slicer &slicer, Array< uInt > *arr)
void putScalarColumnfloatV(const Vector< float > *arr)
void accessColumnCells(const RefRows &rownrs, const IPosition &shape, const void *dataPtr, Bool writeFlag)
Read or write some cells in a column.
void getfloatV(uInt rownr, float *dataPtr)
virtual void putColumnSliceCellsuIntV(const RefRows &rownrs, const Slicer &ns, const Array< uInt > *dataPtr)
void getArrayColumnIntV(Array< Int > *arr)
void putfloatV(uInt rownr, const float *dataPtr)
void getArrayColumnuCharV(Array< uChar > *arr)
virtual void getScalarColumnCellsInt64V(const RefRows &rownrs, Vector< Int64 > *dataPtr)
void putSlicefloatV(uInt rownr, const Slicer &slicer, const Array< float > *dataPtr)
virtual void putScalarColumnCellsdoubleV(const RefRows &rownrs, const Vector< double > *dataPtr)
void putColumnSlicefloatV(const Slicer &slicer, const Array< float > *dataPtr)
virtual void putColumnSliceCellsIntV(const RefRows &rownrs, const Slicer &ns, const Array< Int > *dataPtr)
void putSliceuIntV(uInt rownr, const Slicer &slicer, const Array< uInt > *dataPtr)
virtual void putArrayColumnCellsComplexV(const RefRows &rownrs, const Array< Complex > *dataPtr)
void putArraydoubleV(uInt rownr, const Array< double > *dataPtr)
TSMDataColumn(const TSMColumn &column)
Create a data column from the given column.
std::complex< Double > DComplex
virtual void getColumnSliceCellsuCharV(const RefRows &rownrs, const Slicer &ns, Array< uChar > *dataPtr)
void putDComplexV(uInt rownr, const DComplex *dataPtr)
virtual void getArrayColumnCellsDComplexV(const RefRows &rownrs, Array< DComplex > *dataPtr)
Bool mustConvert_p
Is a conversion necessary?
Class holding the row numbers in a RefTable.
void getColumnSliceComplexV(const Slicer &slicer, Array< Complex > *arr)
void getBoolV(uInt rownr, Bool *dataPtr)
Get a scalar value in the given row.
IPosition tileShape(uInt rownr)
Get the tile shape of the item in the given row.
void putColumnSliceuCharV(const Slicer &slicer, const Array< uChar > *dataPtr)
virtual void getScalarColumnCellsuShortV(const RefRows &rownrs, Vector< uShort > *dataPtr)
virtual void putScalarColumnCellsuCharV(const RefRows &rownrs, const Vector< uChar > *dataPtr)
virtual void putScalarColumnCellsDComplexV(const RefRows &rownrs, const Vector< DComplex > *dataPtr)
void accessCellSlice(uInt rownr, const Slicer &ns, const void *dataPtr, Bool writeFlag)
Read or write a slice of a data cell in the cube.
virtual void getArrayColumnCellsInt64V(const RefRows &rownrs, Array< Int64 > *dataPtr)
void getSliceShortV(uInt rownr, const Slicer &slicer, Array< Short > *dataPtr)
virtual void putArrayColumnCellsuShortV(const RefRows &rownrs, const Array< uShort > *dataPtr)
bool Bool
Define the standard types used by Casacore.
virtual void getArrayColumnCellsComplexV(const RefRows &rownrs, Array< Complex > *dataPtr)
void getArrayColumndoubleV(Array< double > *arr)
void getArrayColumnDComplexV(Array< DComplex > *arr)
void getColumnSliceShortV(const Slicer &slicer, Array< Short > *arr)
virtual void putScalarColumnCellsShortV(const RefRows &rownrs, const Vector< Short > *dataPtr)
virtual void getScalarColumnCellsuIntV(const RefRows &rownrs, Vector< uInt > *dataPtr)
void putShortV(uInt rownr, const Short *dataPtr)
uInt tilePixelSize_p
The (canonical) size of a pixel in a tile.
A column in the Tiled Storage Manager.
void setShape(uInt rownr, const IPosition &shape)
Set the shape of the data array in the given row.
void getComplexV(uInt rownr, Complex *dataPtr)
virtual void getScalarColumnCellsIntV(const RefRows &rownrs, Vector< Int > *dataPtr)
void getColumnSliceuCharV(const Slicer &slicer, Array< uChar > *arr)
void getScalarColumnuShortV(Vector< uShort > *arr)
void getScalarColumnBoolV(Vector< Bool > *arr)
Get the scalar values in the entire column.
void getScalarColumnDComplexV(Vector< DComplex > *arr)
virtual void putColumnSliceCellsDComplexV(const RefRows &rownrs, const Slicer &ns, const Array< DComplex > *dataPtr)
Conversion::ValueFunction * writeFunc_p
The conversion function needed when writing.
void putScalarColumndoubleV(const Vector< double > *arr)
void getArrayIntV(uInt rownr, Array< Int > *dataPtr)
virtual void putScalarColumnCellsBoolV(const RefRows &rownrs, const Vector< Bool > *dataPtr)
Put the scalar values into some cells of the column.
virtual void getColumnSliceCellsIntV(const RefRows &rownrs, const Slicer &ns, Array< Int > *dataPtr)
uInt localPixelSize_p
The local size of a pixel.
void putArrayIntV(uInt rownr, const Array< Int > *dataPtr)
virtual void putColumnSliceCellsShortV(const RefRows &rownrs, const Slicer &ns, const Array< Short > *dataPtr)
Specify which elements to extract from an n-dimensional array.
uInt convPixelSize_p
The multiplication factor for a conversion operation.
void putInt64V(uInt rownr, const Int64 *dataPtr)
void putColumnSliceInt64V(const Slicer &slicer, const Array< Int64 > *dataPtr)
Conversion::ValueFunction * readFunc_p
The conversion function needed when reading.
void putSliceInt64V(uInt rownr, const Slicer &slicer, const Array< Int64 > *dataPtr)
void getSliceComplexV(uInt rownr, const Slicer &slicer, Array< Complex > *dataPtr)
void getScalarColumndoubleV(Vector< double > *arr)
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.
virtual void putArrayColumnCellsdoubleV(const RefRows &rownrs, const Array< double > *dataPtr)
void getArrayColumnfloatV(Array< float > *arr)
Bool canChangeShape() const
Changing array shapes for non-FixedShape columns when the parent tiled storage manager can handle it...
Bool canAccessArrayColumn(Bool &reask) const
It can handle access to an array column if there is one hypercube.
void putScalarColumnComplexV(const Vector< Complex > *arr)
void putColumnSliceBoolV(const Slicer &slicer, const Array< Bool > *dataPtr)
Put the array values into the entire column.
void getArrayComplexV(uInt rownr, Array< Complex > *dataPtr)
void getSliceuIntV(uInt rownr, const Slicer &slicer, Array< uInt > *dataPtr)
void getArrayColumnuIntV(Array< uInt > *arr)
uInt colnr_p
The column sequence number.
void putArrayColumnuIntV(const Array< uInt > *arr)
void putIntV(uInt rownr, const Int *dataPtr)
void putSliceComplexV(uInt rownr, const Slicer &slicer, const Array< Complex > *dataPtr)
virtual void putArrayColumnCellsShortV(const RefRows &rownrs, const Array< Short > *dataPtr)
void putArrayuIntV(uInt rownr, const Array< uInt > *dataPtr)
virtual void getScalarColumnCellsuCharV(const RefRows &rownrs, Vector< uChar > *dataPtr)
virtual void putScalarColumnCellsuShortV(const RefRows &rownrs, const Vector< uShort > *dataPtr)
void putArrayColumnuShortV(const Array< uShort > *arr)
virtual void getScalarColumnCellsfloatV(const RefRows &rownrs, Vector< float > *dataPtr)
virtual void putScalarColumnCellsuIntV(const RefRows &rownrs, const Vector< uInt > *dataPtr)
void putScalarColumnuIntV(const Vector< uInt > *arr)
void getdoubleV(uInt rownr, double *dataPtr)
void putArrayColumnBoolV(const Array< Bool > *arr)
Put the array values into the entire column.
virtual void putArrayColumnCellsuIntV(const RefRows &rownrs, const Array< uInt > *dataPtr)
void getScalarColumnuIntV(Vector< uInt > *arr)
void getDComplexV(uInt rownr, DComplex *dataPtr)
void getuIntV(uInt rownr, uInt *dataPtr)
void putArrayColumnInt64V(const Array< Int64 > *arr)
void getArrayShortV(uInt rownr, Array< Short > *dataPtr)
virtual void putArrayColumnCellsIntV(const RefRows &rownrs, const Array< Int > *dataPtr)
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.
void getIntV(uInt rownr, Int *dataPtr)
void putArrayColumnfloatV(const Array< float > *arr)
void putComplexV(uInt rownr, const Complex *dataPtr)
void setShapeTiled(uInt rownr, const IPosition &shape, const IPosition &tileShape)
Set the shape and tile shape of the array in the given row.
virtual void getArrayColumnCellsdoubleV(const RefRows &rownrs, Array< double > *dataPtr)
virtual void putColumnSliceCellsdoubleV(const RefRows &rownrs, const Slicer &ns, const Array< double > *dataPtr)
void putSliceuShortV(uInt rownr, const Slicer &slicer, const Array< uShort > *dataPtr)
void putArrayuCharV(uInt rownr, const Array< uChar > *dataPtr)
void putSlicedoubleV(uInt rownr, const Slicer &slicer, const Array< double > *dataPtr)
void putArrayfloatV(uInt rownr, const Array< float > *dataPtr)
virtual void getScalarColumnCellsdoubleV(const RefRows &rownrs, Vector< double > *dataPtr)
Bool canAccessSlice(Bool &reask) const
It can handle access to a slice in a cell.
void putArrayInt64V(uInt rownr, const Array< Int64 > *dataPtr)
void getSliceuCharV(uInt rownr, const Slicer &slicer, Array< uChar > *dataPtr)
IPosition shape(uInt rownr)
Get the shape of the item in the given row.
void getScalarColumnInt64V(Vector< Int64 > *arr)
virtual void getColumnSliceCellsfloatV(const RefRows &rownrs, const Slicer &ns, Array< float > *dataPtr)
void putScalarColumnuCharV(const Vector< uChar > *arr)
void putColumnSliceIntV(const Slicer &slicer, const Array< Int > *dataPtr)
void putScalarColumnuShortV(const Vector< uShort > *arr)
void putdoubleV(uInt rownr, const double *dataPtr)
virtual ~TSMDataColumn()
Frees up the storage.
size_t ValueFunction(void *to, const void *from, size_t nvalues)
Define the signature of a function converting nvalues values from internal to external format or vice...
void accessColumnSliceCells(const RefRows &rownrs, const Slicer &ns, const IPosition &shape, const void *dataPtr, Bool writeFlag)
Read or write some cells in a column.
void getSliceuShortV(uInt rownr, const Slicer &slicer, Array< uShort > *dataPtr)
void getScalarColumnIntV(Vector< Int > *arr)
virtual void getColumnSliceCellsuIntV(const RefRows &rownrs, const Slicer &ns, Array< uInt > *dataPtr)
void getScalarColumnuCharV(Vector< uChar > *arr)
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.
void putArrayBoolV(uInt rownr, const Array< Bool > *dataPtr)
Put the array value into the given row.