28 #ifndef TABLES_TILEDFILEACCESS_H
29 #define TABLES_TILEDFILEACCESS_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/TSMCube.h>
35 #include <casacore/tables/DataMan/TSMOption.h>
36 #include <casacore/casa/Utilities/DataType.h>
41 class TiledFileHelper;
153 Int deleteValue,
Bool examineForDeleteValues=
True);
217 axisPath, forceSmaller,
True); }
224 axisPath, forceSmaller,
True); }
238 uInt nrPixelsPerTile = 32768);
String: the storage and methods of handling collections of characters.
uInt cacheSize() const
Get the current cache size (in buckets).
void emptyCache()
Empty the cache.
virtual void showCacheStatistics(ostream &os) const
Show the cache statistics.
virtual void setCacheSize(const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath, Bool forceSmaller, Bool userSet)
Set the cache size for the given slice and access path.
const IPosition & tileShape() const
Get the shape of the tiles.
const IPosition & cubeShape() const
Get the shape of the hypercube.
virtual void flushCache()
Flush the data in the cache.
Array< Float > getFloat(const Slicer §ion, Float scale, Float offset, uChar deleteValue, Bool examineForDeleteValues=True)
Get the array and scale/offset the data using the given values.
void setCacheSize(uInt nbuckets, Bool forceSmaller=True)
Set the cache size for accessing the data.
uInt cacheSize() const
Get the current cache size (in buckets).
Array< uChar > getUChar(const Slicer §ion)
void get(Array< Complex > &, const Slicer §ion)
Array< Float > getFloat(const Slicer §ion, Float scale, Float offset, Int deleteValue, Bool examineForDeleteValues=True)
void put(const Array< Short > &, const Slicer §ion)
Array< Double > getDouble(const Slicer §ion)
void get(Array< Bool > &, const Slicer §ion)
void put(const Array< DComplex > &, const Slicer §ion)
Array< Bool > getBool(const Slicer §ion)
Get part of the array.
Array< DComplex > getDComplex(const Slicer §ion)
const IPosition & shape() const
Get the shape of the array.
TiledFileAccess & operator=(const TiledFileAccess &)
void put(const Array< Int > &, const Slicer §ion)
void get(Array< DComplex > &, const Slicer §ion)
void get(Array< Short > &, const Slicer §ion)
DataType dataType() const
const IPosition & tileShape() const
Get the shape of the tiles.
void clearCache()
Empty the cache.
void get(Array< Double > &, const Slicer §ion)
void setCacheSize(const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath, Bool forceSmaller=True)
void put(const Array< uChar > &, const Slicer §ion)
Array< Complex > getComplex(const Slicer §ion)
void get(Array< Int > &, const Slicer §ion)
Array< Float > getFloat(const Slicer §ion)
void put(const Array< Complex > &, const Slicer §ion)
Array< Int > getInt(const Slicer §ion)
Bool isWritable() const
Is the file writable?
void get(Array< uChar > &, const Slicer §ion)
uInt64 maximumCacheSize() const
Get the maximum cache size (in bytes).
void put(const Array< Bool > &, const Slicer §ion)
Put part of the array.
void get(Array< Float > &, const Slicer §ion)
void flush()
Flush the cache.
TiledFileAccess(const String &fileName, Int64 fileOffset, const IPosition &shape, const IPosition &tileShape, DataType dataType, const TSMOption &=TSMOption(), Bool writable=False)
Create a TiledFileAccess object.
Array< Float > getFloat(const Slicer §ion, Float scale, Float offset, Short deleteValue, Bool examineForDeleteValues=True)
void setMaximumCacheSize(uInt64 nbytes)
Set the maximum cache size (in bytes).
void put(const Array< Double > &, const Slicer §ion)
void put(const Array< Float > &, const Slicer §ion)
TiledFileAccess(const String &fileName, Int64 fileOffset, const IPosition &shape, const IPosition &tileShape, DataType dataType, const TSMOption &, Bool writable, Bool bigEndian)
Create a TiledFileAccess object.
void get(Array< Float > &, const Slicer §ion, Float scale, Float offset, Short deleteValue, Bool examineForDeleteValues=True)
TiledFileAccess(const TiledFileAccess &)
Forbid copy constructor and assignment.
void setCacheSize(const IPosition &sliceShape, const IPosition &axisPath, Bool forceSmaller=True)
Set the cache size using the given access pattern.
Array< Short > getShort(const Slicer §ion)
void showCacheStatistics(ostream &os) const
Show the cache statistics.
static IPosition makeTileShape(const IPosition &arrayShape, uInt nrPixelsPerTile=32768)
Make a tile shape from the array shape to fit as closely as possible the number of pixels in the tile...
void get(Array< Float > &, const Slicer §ion, Float scale, Float offset, uChar deleteValue, Bool examineForDeleteValues=True)
void get(Array< Float > &, const Slicer §ion, Float scale, Float offset, Int deleteValue, Bool examineForDeleteValues=True)
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.
unsigned long long uInt64