Go to the documentation of this file.
28 #ifndef TABLES_ISMINDCOLUMN_H
29 #define TABLES_ISMINDCOLUMN_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/ISMColumn.h>
35 #include <casacore/tables/DataMan/StIndArray.h>
36 #include <casacore/casa/Arrays/IPosition.h>
virtual void doCreate(ISMBucket *bucket)
Let the column object create its array file.
Specify which elements to extract from an n-dimensional array.
virtual void putArrayInt64V(uInt rownr, const Array< Int64 > *dataPtr)
virtual void getArrayInt64V(uInt rownr, Array< Int64 > *dataPtr)
virtual void putArrayuCharV(uInt rownr, const Array< uChar > *dataPtr)
A Vector of integers, for indexing into Array<T> objects.
ISMIndColumn(ISMBase *parent, int dataType, uInt colnr)
Create a column of the given data type.
virtual void getSliceBoolV(uInt rownr, const Slicer &, Array< Bool > *dataPtr)
Get a section of the array in the given row.
virtual void putArrayIntV(uInt rownr, const Array< Int > *dataPtr)
virtual void putSliceStringV(uInt rownr, const Slicer &, const Array< String > *dataPtr)
ISMIndColumn & operator=(const ISMIndColumn &)
Forbid assignment.
virtual void putSliceuCharV(uInt rownr, const Slicer &, const Array< uChar > *dataPtr)
OpenOption
Define the possible ByteIO open options.
virtual void reopenRW()
Let the column reopen its data files for read/write access.
virtual Bool compareValue(const void *val1, const void *val2) const
Compare the values to check if a value to be put matches the value in the previous or next row.
virtual void getSliceComplexV(uInt rownr, const Slicer &, Array< Complex > *dataPtr)
virtual void getArrayuIntV(uInt rownr, Array< uInt > *dataPtr)
~ISMIndColumn()
Frees up the storage.
virtual void getFile(uInt nrrow)
Let the column object open an existing file.
virtual void getArrayShortV(uInt rownr, Array< Short > *dataPtr)
virtual void putArraydoubleV(uInt rownr, const Array< double > *dataPtr)
virtual void getSlicedoubleV(uInt rownr, const Slicer &, Array< double > *dataPtr)
virtual void getSliceuIntV(uInt rownr, const Slicer &, Array< uInt > *dataPtr)
virtual void putArrayDComplexV(uInt rownr, const Array< DComplex > *dataPtr)
virtual void putSliceuIntV(uInt rownr, const Slicer &, const Array< uInt > *dataPtr)
virtual void putSliceBoolV(uInt rownr, const Slicer &, const Array< Bool > *dataPtr)
Put into a section of the array in the given row.
virtual void getSliceIntV(uInt rownr, const Slicer &, Array< Int > *dataPtr)
virtual Bool flush(uInt nrrow, Bool fsync)
Flush and optionally fsync the data.
virtual void getSliceInt64V(uInt rownr, const Slicer &, Array< Int64 > *dataPtr)
Bool shapeIsFixed_p
Switch indicating if the shape is fixed.
int dataType() const
Return the data type of the column.
virtual void getArrayuCharV(uInt rownr, Array< uChar > *dataPtr)
virtual void getSliceDComplexV(uInt rownr, const Slicer &, Array< DComplex > *dataPtr)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
virtual uInt ndim(uInt rownr)
Get the dimensionality of the item in the given row.
virtual void getSliceuShortV(uInt rownr, const Slicer &, Array< uShort > *dataPtr)
Read/write array in external format for a storage manager.
virtual void getSlicefloatV(uInt rownr, const Slicer &, Array< float > *dataPtr)
void setShape(uInt rownr, const IPosition &shape)
Set the shape of the array in the given row and allocate the array in the file.
StIndArray * getArrayPtr(uInt rownr)
Return a pointer to the array in the given row (for a get).
virtual void putArrayBoolV(uInt rownr, const Array< Bool > *dataPtr)
Put an array value into the given row.
virtual void putSliceComplexV(uInt rownr, const Slicer &, const Array< Complex > *dataPtr)
virtual void putSlicefloatV(uInt rownr, const Slicer &, const Array< float > *dataPtr)
StIndArray * putShapeSliced(uInt rownr)
Put the shape for an array of which a slice is being put.
virtual void putSlicedoubleV(uInt rownr, const Slicer &, const Array< double > *dataPtr)
virtual void putArrayuShortV(uInt rownr, const Array< uShort > *dataPtr)
virtual void putSliceuShortV(uInt rownr, const Slicer &, const Array< uShort > *dataPtr)
uInt seqnr_p
The (unique) sequence number of the column.
virtual void handleCopy(uInt rownr, const char *value)
Handle the duplication of a value; i.e.
virtual void getArrayDComplexV(uInt rownr, Array< DComplex > *dataPtr)
this file contains all the compiler specific defines
virtual void putSliceIntV(uInt rownr, const Slicer &, const Array< Int > *dataPtr)
virtual void putArrayfloatV(uInt rownr, const Array< float > *dataPtr)
StManArrayFile * iosfile_p
The file containing the arrays.
virtual Bool isShapeDefined(uInt rownr)
Is the shape defined (i.e.
void init()
Initialize part of the object.
virtual void setShapeColumn(const IPosition &shape)
Set the (fixed) shape of the arrays in the entire column.
A bucket in the Incremental Storage Manager.
virtual Bool canAccessSlice(Bool &reask) const
It can handle access to a slice in a cell.
virtual void putSliceShortV(uInt rownr, const Slicer &, const Array< Short > *dataPtr)
StIndArray * putShape(uInt rownr, const IPosition &shape)
Put the shape for an array being put.
Base class of the Incremental Storage Manager.
virtual void getArrayBoolV(uInt rownr, Array< Bool > *dataPtr)
Get an array value in the given row.
StIndArray * getShape(uInt rownr)
Read the shape at the given row.
void clear()
Clear the object (used by destructor and init).
Read/write indirect arrays.
IPosition fixedShape_p
The shape of all arrays in case it is fixed.
virtual void resync(uInt nrrow)
Resync the storage manager with the new file contents.
A Column in the Incremental Storage Manager.
virtual void putArrayStringV(uInt rownr, const Array< String > *dataPtr)
virtual void getArrayStringV(uInt rownr, Array< String > *dataPtr)
Bool canChangeShape() const
This storage manager can handle changing array shapes.
virtual void getSliceStringV(uInt rownr, const Slicer &, Array< String > *dataPtr)
virtual void putArrayuIntV(uInt rownr, const Array< uInt > *dataPtr)
virtual void getArrayComplexV(uInt rownr, Array< Complex > *dataPtr)
virtual void putSliceDComplexV(uInt rownr, const Slicer &, const Array< DComplex > *dataPtr)
virtual void handleRemove(uInt rownr, const char *value)
Handle the removal of a value; i.e.
Bool foundArray_p
The indirect array exists for the row interval last accessed.
virtual IPosition shape(uInt rownr)
Get the shape of the array in the given row.
bool Bool
Define the standard types used by Casacore.
virtual void getArrayuShortV(uInt rownr, Array< uShort > *dataPtr)
virtual void putArrayShortV(uInt rownr, const Array< Short > *dataPtr)
virtual void getArrayfloatV(uInt rownr, Array< float > *dataPtr)
virtual void getSliceuCharV(uInt rownr, const Slicer &, Array< uChar > *dataPtr)
StIndArray indArray_p
The indirect array object.
virtual void getSliceShortV(uInt rownr, const Slicer &, Array< Short > *dataPtr)
A column of Incremental storage manager for indirect arrays.
virtual void putArrayComplexV(uInt rownr, const Array< Complex > *dataPtr)
virtual void getArrayIntV(uInt rownr, Array< Int > *dataPtr)
virtual void getArraydoubleV(uInt rownr, Array< double > *dataPtr)
virtual void addRow(uInt newNrrow, uInt oldNrrow)
Add (newNrrow-oldNrrow) rows to the column.
virtual void putSliceInt64V(uInt rownr, const Slicer &, const Array< Int64 > *dataPtr)
StIndArray * putArrayPtr(uInt rownr, const IPosition &shape, Bool copyData)
When needed, create an array in the given row with the given shape.