28 #ifndef TABLES_TILEDSTMANACCESSOR_H
29 #define TABLES_TILEDSTMANACCESSOR_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/DataMan/DataManAccessor.h>
34 #include <casacore/casa/iosfwd.h>
Abstract base class for a data manager.
ROTiledStManAccessor(const Table &table, const String &name, Bool byColumn=False)
Construct the object for a data manager in the table given the name of the data manager or the column...
void setCacheSize(rownr_t rownr, const IPosition &sliceShape, const IPosition &axisPath, Bool forceSmaller=True)
Set the cache size using the corresponding calcCacheSize function mentioned above.
void clearCaches()
Clear the caches used by the hypercubes in this storage manager.
void setCacheSize(rownr_t rownr, const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath, Bool forceSmaller=True)
void setHypercubeCacheSize(uInt hypercube, uInt nbuckets, Bool forceSmaller=True)
This version allows setting the tile cache for a particular hypercube.
const IPosition & hypercubeShape(rownr_t rownr) const
Get the hypercube shape of the data in the given row.
DataManager * getDataManager() const
Get the data manager.
TiledStMan * dataManPtr_p
void setMaximumCacheSize(uInt nMiB)
Set the maximum cache size (in MibiByte) to be used by a hypercube in the storage manager.
uInt getBucketSize(uInt hypercube) const
Get the bucket size (in bytes) of the given hypercube.
const IPosition & getTileShape(uInt hypercube) const
Get the tile shape of the given hypercube.
ROTiledStManAccessor(const ROTiledStManAccessor &that)
Copy constructor (reference semantics).
uInt maximumCacheSize() const
Get the maximum cache size (in MiB).
const IPosition & getHypercubeShape(uInt hypercube) const
Get the shape of the given hypercube.
uInt bucketSize(rownr_t rownr) const
Get the bucket size (in bytes) of the hypercube in the given row.
uInt getCacheSize(uInt hypercube) const
Get the current cache size (in buckets) for the given hypercube.
uInt calcCacheSize(rownr_t rownr, const IPosition &sliceShape, const IPosition &axisPath) const
Calculate the cache size (in buckets) for accessing the hypercube containing the given row.
void setCacheSize(rownr_t rownr, uInt nbuckets, Bool forceSmaller=True)
Set the cache size for accessing the hypercube containing the given row.
virtual ~ROTiledStManAccessor()
const Record & getValueRecord(uInt hypercube) const
Get coordinate and id values of the given hypercube.
const IPosition & tileShape(rownr_t rownr) const
Get the tile shape of the data in the given row.
uInt cacheSize(rownr_t rownr) const
Get the current cache size (in buckets) for the hypercube in the given row.
const Record & valueRecord(rownr_t rownr) const
Get coordinate and id values of the hypercube in the given row.
uInt nhypercubes() const
Return the number of hypercubes.
ROTiledStManAccessor & operator=(const ROTiledStManAccessor &that)
Assignment (reference semantics).
ROTiledStManAccessor()
Default constructor should be used with care.
uInt calcCacheSize(rownr_t rownr, const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath) const
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.