Go to the documentation of this file.
28 #ifndef TABLES_TILEDSHAPESTMAN_H
29 #define TABLES_TILEDSHAPESTMAN_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/TiledStMan.h>
35 #include <casacore/casa/Containers/Block.h>
36 #include <casacore/casa/BasicSL/String.h>
virtual TSMCube * getHypercube(uInt rownr)
Get the hypercube in which the given row is stored.
virtual TSMCube * getHypercube(uInt rownr, IPosition &position)
Get the hypercube in which the given row is stored.
Abstract base class for a data manager.
TiledShapeStMan()
Create a TiledShapeStMan.
virtual Bool canAccessColumn(Bool &reask) const
TiledShapeStMan can access a column if there are 2 hypercubes and the first one is empty.
TiledShapeStMan(const String &hypercolumnName, const IPosition &defaultTileShape, uInt maximumCacheSize=0)
Create a TiledShapeStMan storage manager for the hypercolumn with the given name.
TiledShapeStMan(const String &hypercolumnName, const Record &spec)
void updateRowMap(uInt cubeNr, uInt pos, uInt rownr)
Update the map of row numbers to cube number plus offset.
uInt maximumCacheSize() const
Get the current maximum cache size (in MiB (MibiByte)).
virtual String dataManagerType() const
Get the type name of the data manager (i.e.
uInt nrUsedRowMap_p
The nr of elements used in the map blocks.
virtual void create(uInt nrrow)
Let the storage manager create files as needed for a new table.
void extendRowMap(uInt nrow)
Extend the map of row numbers to cube number plus offset will new empty entries.
void addHypercube(uInt rownr, const IPosition &cubeShape, const IPosition &tileShape)
Add a hypercube.
Block< uInt > rowMap_p
The map of row number to cube and position in cube.
Int findHypercube(const IPosition &shape)
Find the hypercube for the given shape.
virtual IPosition defaultTileShape() const
Get the default tile shape.
static DataManager * makeObject(const String &dataManagerType, const Record &spec)
Make the object from the type name string.
Int lastHC_p
The last hypercube found.
virtual void setupCheck(const TableDesc &tableDesc, const Vector< String > &dataNames) const
Check if the hypercolumn definition fits this storage manager.
virtual DataManager * clone() const
Clone this object.
IPosition defaultTileShape_p
The default tile shape.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
virtual void setShape(uInt rownr, TSMCube *hypercube, const IPosition &shape, const IPosition &tileShape)
Set the shape and tile shape of the given hypercube.
uInt nrow() const
Get the nr of rows in this storage manager.
virtual TSMCube * singleHypercube()
Test if only one hypercube is used by this storage manager.
virtual Record dataManagerSpec() const
Return a record containing data manager specifications and info.
this file contains all the compiler specific defines
TiledShapeStMan & operator=(const TiledShapeStMan &)
Forbid assignment.
virtual void readHeader(uInt nrrow, Bool firstTime)
Read the header info.
const IPosition & tileShape(uInt rownr) const
Get the tile shape of the data in the given row.
String: the storage and methods of handling collections of characters.
void addRow(uInt nrrow)
Add rows to the storage manager.
bool Bool
Define the standard types used by Casacore.
TiledShapeStMan(const TiledShapeStMan &)
Forbid copy constructor.
void extendHypercube(uInt rownr, uInt cubeNr)
Extend the hypercube with the given number of elements in the last dimension.
virtual Bool flush(AipsIO &, Bool fsync)
Flush and optionally fsync the data.