1#ifndef DYSCO_STORAGE_MAN_COLUMN_H
2#define DYSCO_STORAGE_MAN_COLUMN_H
7#include <casacore/tables/DataMan/StManColumnBase.h>
48 double distributionTruncation) = 0;
133 const unsigned char *data,
167 size_t antennaCount) {
168 _storageManager->initializeRowsPerBlock(rowsPerBlock, antennaCount,
true);
StManColumnBase(int dataType)
Default constructor.
DyscoStMan * _storageManager
virtual void InitializeAfterNRowsPerBlockIsKnown()=0
void writeCompressedData(size_t blockIndex, const unsigned char *data, size_t size)
Write a row of compressed data to the stman file.
uint64_t getRowIndex(size_t block) const
uint64_t nBlocksInFile() const
Get the actual number of blocks in the file.
virtual size_t CalculateBlockSize(size_t nRowsInBlock, size_t nAntennae) const =0
virtual void SerializeExtraHeader(std::ostream &stream) const =0
void operator=(const DyscoStManColumn &source)=delete
virtual size_t ExtraHeaderSize() const
Get number of bytes needed for column header of this column.
bool areOffsetsInitialized() const
void readCompressedData(size_t blockIndex, unsigned char *dest, size_t size)
Read a row of compressed data from the stman file.
size_t getRowWithinBlock(uint64_t row) const
void SetOffsetInBlock(size_t offsetInBlock)
virtual void Prepare(DyscoDistribution distribution, Normalization normalization, double studentsTNu, double distributionTruncation)=0
DyscoStManColumn(const DyscoStManColumn &source)=delete
virtual casacore::Bool isWritable() const override
Whether this column is writable.
virtual ~DyscoStManColumn()
Destructor.
DyscoStManColumn(DyscoStMan *parent, int dtype)
Constructor, to be overloaded by subclass.
virtual void UnserializeExtraHeader(std::istream &stream)=0
virtual void shutdown()=0
To be called before destructing the class.
DyscoStMan & storageManager() const
Get the storage manager for this column.
void initializeRowsPerBlock(size_t rowsPerBlock, size_t antennaCount)
size_t OffsetInBlock() const
size_t getBlockIndex(uint64_t row) const
size_t nRowsInBlock() const
The main class for the Dysco storage manager.
Contains DyscoStMan and its global register function register_dyscostman().
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.