A column for storing compressed values in a threaded way, tailored for the data and weight columns that use a threaded approach for encoding.  
 More...
 | 
|   | ThreadedDyscoColumn (DyscoStMan *parent, int dtype) | 
|   | Create a new column.  
  | 
|   | 
|   | ThreadedDyscoColumn (const ThreadedDyscoColumn &source)=delete | 
|   | 
| void  | operator= (const ThreadedDyscoColumn &source)=delete | 
|   | 
| virtual  | ~ThreadedDyscoColumn () | 
|   | Destructor.  
  | 
|   | 
| virtual void  | setShapeColumn (const casacore::IPosition &shape) override | 
|   | Set the dimensions of values in this column.  
  | 
|   | 
| virtual casacore::IPosition  | shape (casacore::rownr_t) override | 
|   | Get the dimensions of the values in a particular row.  
  | 
|   | 
| virtual void  | getArrayV (casacore::rownr_t rowNr, casacore::ArrayBase &dataPtr) override | 
|   | Read the values for a particular row.  
  | 
|   | 
| virtual void  | putArrayV (casacore::rownr_t rowNr, const casacore::ArrayBase &dataPtr) override | 
|   | Write values into a particular row.  
  | 
|   | 
| virtual void  | Prepare (DyscoDistribution distribution, Normalization normalization, double studentsTNu, double distributionTruncation) override | 
|   | 
| virtual void  | InitializeAfterNRowsPerBlockIsKnown () override | 
|   | Prepare this column for reading/writing.  
  | 
|   | 
| void  | SetBitsPerSymbol (unsigned bitsPerSymbol) | 
|   | Set the bits per symbol.  
  | 
|   | 
| virtual size_t  | CalculateBlockSize (size_t nRowsInBlock, size_t nAntennae) const final override | 
|   | 
| virtual size_t  | ExtraHeaderSize () const override | 
|   | Get number of bytes needed for column header of this column.  
  | 
|   | 
| virtual void  | SerializeExtraHeader (std::ostream &stream) const final override | 
|   | 
| virtual void  | UnserializeExtraHeader (std::istream &stream) final override | 
|   | 
| void  | getArrayV (casacore::rownr_t rowNr, casacore::ArrayBase &dataPtr) | 
|   | 
| void  | putArrayV (casacore::rownr_t rowNr, const casacore::ArrayBase &dataPtr) | 
|   | 
| void  | getArrayV (casacore::rownr_t rowNr, casacore::ArrayBase &dataPtr) | 
|   | 
| void  | putArrayV (casacore::rownr_t rowNr, const casacore::ArrayBase &dataPtr) | 
|   | 
  Public Member Functions inherited from dyscostman::DyscoStManColumn | 
|   | DyscoStManColumn (DyscoStMan *parent, int dtype) | 
|   | Constructor, to be overloaded by subclass.  
  | 
|   | 
| virtual  | ~DyscoStManColumn () | 
|   | Destructor.  
  | 
|   | 
| virtual casacore::Bool  | isWritable () const override | 
|   | Whether this column is writable.  
  | 
|   | 
| size_t  | OffsetInBlock () const | 
|   | 
| void  | SetOffsetInBlock (size_t offsetInBlock) | 
|   | 
  Public Member Functions inherited from casacore::StManColumnBase | 
|   | StManColumnBase (int dataType) | 
|   | Default constructor.  
  | 
|   | 
|   | ~StManColumnBase () | 
|   | 
|   | StManColumnBase (const StManColumnBase &)=delete | 
|   | The object cannot be copied.  
  | 
|   | 
| StManColumnBase &  | operator= (const StManColumnBase &)=delete | 
|   | The object cannot be assigned to.  
  | 
|   | 
| virtual int  | dataType () const | 
|   | Return the data type of the column.  
  | 
|   | 
| DataType  | dtype () const | 
|   | 
| Int  | elemSize () const | 
|   | Return the size of an element of the column's data type.  
  | 
|   | 
  Public Member Functions inherited from casacore::DataManagerColumn | 
|   | DataManagerColumn () | 
|   | Create a column.  
  | 
|   | 
| virtual  | ~DataManagerColumn () | 
|   | Frees up the storage.  
  | 
|   | 
|   | DataManagerColumn (const DataManagerColumn &)=delete | 
|   | The copy constructor cannot be used for this base class.  
  | 
|   | 
| DataManagerColumn &  | operator= (const DataManagerColumn &)=delete | 
|   | Assignment cannot be used for this base class.  
  | 
|   | 
| void  | setIsFixedShape (Bool isFixedShape) | 
|   | Set the isFixedShape flag.  
  | 
|   | 
| Bool  | isFixedShape () const | 
|   | Is this a fixed shape column?  
  | 
|   | 
| virtual String  | dataTypeId () const | 
|   | Get the data type id of the column for dataType==TpOther.  
  | 
|   | 
| virtual void  | setMaxLength (uInt maxLength) | 
|   | Set the maximum length of the value (can be used for strings).  
  | 
|   | 
| void  | setFixedShapeColumn (const IPosition &shape) | 
|   | Set the shape of all (fixed-shaped) arrays in the column.  
  | 
|   | 
| virtual void  | setShape (rownr_t rownr, const IPosition &shape) | 
|   | Set the shape of an (variable-shaped) array in the given row.  
  | 
|   | 
| virtual void  | setShapeTiled (rownr_t rownr, const IPosition &shape, const IPosition &tileShape) | 
|   | Set the shape and tile shape of an (variable-shaped) array in the given row.  
  | 
|   | 
| virtual Bool  | isShapeDefined (rownr_t rownr) | 
|   | Is the value shape defined in the given row? By default it returns True.  
  | 
|   | 
| virtual uInt  | ndim (rownr_t rownr) | 
|   | Get the dimensionality of the item in the given row.  
  | 
|   | 
| virtual IPosition  | shape (rownr_t rownr) | 
|   | Get the shape of the item in the given row.  
  | 
|   | 
| virtual IPosition  | tileShape (rownr_t rownr) | 
|   | Get the tile shape of the item in the given row.  
  | 
|   | 
| virtual Bool  | canChangeShape () const | 
|   | Can the data manager handle chaging the shape of an existing array? Default is no.  
  | 
|   | 
| ColumnCache &  | columnCache () | 
|   | Get access to the ColumnCache object.  
  | 
|   | 
| const ColumnCache *  | columnCachePtr () const | 
|   | 
| void  | get (rownr_t rownr, Bool *dataPtr) | 
|   | Get the scalar value in the given row.  
  | 
|   | 
| void  | get (rownr_t rownr, uChar *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, Short *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, uShort *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, Int *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, uInt *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, Int64 *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, float *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, double *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, Complex *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, DComplex *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, String *dataPtr) | 
|   | 
| void  | get (rownr_t rownr, void *dataPtr) | 
|   | This function is the get for all non-standard data types.  
  | 
|   | 
| void  | put (rownr_t rownr, const Bool *dataPtr) | 
|   | Put the scalar value into the given row.  
  | 
|   | 
| void  | put (rownr_t rownr, const uChar *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const Short *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const uShort *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const Int *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const uInt *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const Int64 *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const float *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const double *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const Complex *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const DComplex *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const String *dataPtr) | 
|   | 
| void  | put (rownr_t rownr, const void *dataPtr) | 
|   | This function is the put for all non-standard data types.  
  | 
|   | 
| virtual void  | getScalarColumnV (ArrayBase &dataPtr) | 
|   | Get all scalar values in the column.  
  | 
|   | 
| virtual void  | putScalarColumnV (const ArrayBase &dataPtr) | 
|   | Put all scalar values in the column.  
  | 
|   | 
| virtual void  | getScalarColumnCellsV (const RefRows &rownrs, ArrayBase &dataPtr) | 
|   | Get some scalar values in the column.  
  | 
|   | 
| virtual void  | putScalarColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr) | 
|   | Put some scalar values in the column.  
  | 
|   | 
| virtual void  | getArrayV (rownr_t rownr, ArrayBase &dataPtr) | 
|   | Get the array value in the given row.  
  | 
|   | 
| virtual void  | putArrayV (rownr_t rownr, const ArrayBase &data) | 
|   | Put the array value into the given row.  
  | 
|   | 
| virtual void  | getArrayColumnV (ArrayBase &data) | 
|   | Get all array values in the column.  
  | 
|   | 
| virtual void  | putArrayColumnV (const ArrayBase &data) | 
|   | Put all array values in the column.  
  | 
|   | 
| virtual void  | getArrayColumnCellsV (const RefRows &rownrs, ArrayBase &data) | 
|   | Get some array values in the column.  
  | 
|   | 
| virtual void  | putArrayColumnCellsV (const RefRows &rownrs, const ArrayBase &data) | 
|   | Put some array values in the column.  
  | 
|   | 
| virtual void  | getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &data) | 
|   | Get a section of the array in the given row.  
  | 
|   | 
| virtual void  | putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &data) | 
|   | Put into a section of the array in the given row.  
  | 
|   | 
| virtual void  | getColumnSliceV (const Slicer &slicer, ArrayBase &data) | 
|   | Get a section of all arrays in the column.  
  | 
|   | 
| virtual void  | putColumnSliceV (const Slicer &slicer, const ArrayBase &data) | 
|   | Put into a section of all arrays in the column.  
  | 
|   | 
| virtual void  | getColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data) | 
|   | Get a section of some arrays in the column.  
  | 
|   | 
| virtual void  | putColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data) | 
|   | Put into a section of some arrays in the column.  
  | 
|   | 
| void  | throwGet () const | 
|   | Throw an "invalid operation" exception for the default implementation of get.  
  | 
|   | 
| void  | throwPut () const | 
|   | Throw an "invalid operation" exception for the default implementation of put.  
  | 
|   | 
| void  | setColumnName (const String &colName) | 
|   | Set the column name.  
  | 
|   | 
| const String &  | columnName () const | 
|   | Get rhe column name.  
  | 
|   | 
 | 
| virtual void  | initializeDecode (TimeBlockBuffer< data_t > *buffer, const float *metaBuffer, size_t nRow, size_t nAntennae)=0 | 
|   | 
| virtual void  | decode (TimeBlockBuffer< data_t > *buffer, const symbol_t *data, size_t blockRow, size_t a1, size_t a2)=0 | 
|   | 
| virtual std::unique_ptr< ThreadDataBase >  | initializeEncodeThread ()=0 | 
|   | 
| virtual void  | encode (ThreadDataBase *threadData, TimeBlockBuffer< data_t > *buffer, float *metaBuffer, symbol_t *symbolBuffer, size_t nAntennae)=0 | 
|   | 
| virtual size_t  | metaDataFloatCount (size_t nRow, size_t nPolarizations, size_t nChannels, size_t nAntennae) const =0 | 
|   | 
| virtual size_t  | symbolCount (size_t nRowsInBlock, size_t nPolarizations, size_t nChannels) const =0 | 
|   | 
| virtual void  | shutdown () override final | 
|   | To be called before destructing the class.  
  | 
|   | 
| virtual size_t  | defaultThreadCount () const | 
|   | 
| size_t  | getBitsPerSymbol () const | 
|   | 
| const casacore::IPosition &  | shape () const | 
|   | 
  Protected Member Functions inherited from dyscostman::DyscoStManColumn | 
| DyscoStMan &  | storageManager () const | 
|   | Get the storage manager for this column.  
  | 
|   | 
| void  | readCompressedData (size_t blockIndex, unsigned char *dest, size_t size) | 
|   | Read a row of compressed data from the stman file.  
  | 
|   | 
| void  | writeCompressedData (size_t blockIndex, const unsigned char *data, size_t size) | 
|   | Write a row of compressed data to the stman file.  
  | 
|   | 
| uint64_t  | nBlocksInFile () const | 
|   | Get the actual number of blocks in the file.  
  | 
|   | 
| size_t  | getBlockIndex (uint64_t row) const | 
|   | 
| size_t  | getRowWithinBlock (uint64_t row) const | 
|   | 
| size_t  | nRowsInBlock () const | 
|   | 
| size_t  | nAntennae () const | 
|   | 
| uint64_t  | getRowIndex (size_t block) const | 
|   | 
| bool  | areOffsetsInitialized () const | 
|   | 
| void  | initializeRowsPerBlock (size_t rowsPerBlock, size_t antennaCount) | 
|   | 
  Protected Member Functions inherited from casacore::DataManagerColumn | 
| virtual void  | getBool (rownr_t rownr, Bool *dataPtr) | 
|   | Get the scalar value in the given row.  
  | 
|   | 
| virtual void  | getuChar (rownr_t rownr, uChar *dataPtr) | 
|   | 
| virtual void  | getShort (rownr_t rownr, Short *dataPtr) | 
|   | 
| virtual void  | getuShort (rownr_t rownr, uShort *dataPtr) | 
|   | 
| virtual void  | getInt (rownr_t rownr, Int *dataPtr) | 
|   | 
| virtual void  | getuInt (rownr_t rownr, uInt *dataPtr) | 
|   | 
| virtual void  | getInt64 (rownr_t rownr, Int64 *dataPtr) | 
|   | 
| virtual void  | getfloat (rownr_t rownr, float *dataPtr) | 
|   | 
| virtual void  | getdouble (rownr_t rownr, double *dataPtr) | 
|   | 
| virtual void  | getComplex (rownr_t rownr, Complex *dataPtr) | 
|   | 
| virtual void  | getDComplex (rownr_t rownr, DComplex *dataPtr) | 
|   | 
| virtual void  | getString (rownr_t rownr, String *dataPtr) | 
|   | 
| virtual void  | getOther (rownr_t rownr, void *dataPtr) | 
|   | This function is the get for all non-standard data types.  
  | 
|   | 
| virtual void  | putBool (rownr_t rownr, const Bool *dataPtr) | 
|   | Put the scalar value into the given row.  
  | 
|   | 
| virtual void  | putuChar (rownr_t rownr, const uChar *dataPtr) | 
|   | 
| virtual void  | putShort (rownr_t rownr, const Short *dataPtr) | 
|   | 
| virtual void  | putuShort (rownr_t rownr, const uShort *dataPtr) | 
|   | 
| virtual void  | putInt (rownr_t rownr, const Int *dataPtr) | 
|   | 
| virtual void  | putuInt (rownr_t rownr, const uInt *dataPtr) | 
|   | 
| virtual void  | putInt64 (rownr_t rownr, const Int64 *dataPtr) | 
|   | 
| virtual void  | putfloat (rownr_t rownr, const float *dataPtr) | 
|   | 
| virtual void  | putdouble (rownr_t rownr, const double *dataPtr) | 
|   | 
| virtual void  | putComplex (rownr_t rownr, const Complex *dataPtr) | 
|   | 
| virtual void  | putDComplex (rownr_t rownr, const DComplex *dataPtr) | 
|   | 
| virtual void  | putString (rownr_t rownr, const String *dataPtr) | 
|   | 
| virtual void  | putOther (rownr_t rownr, const void *dataPtr) | 
|   | This function is the put for all non-standard data types.  
  | 
|   | 
| void  | getScalarColumnBase (ArrayBase &dataPtr) | 
|   | The default implementations of get and put functions.  
  | 
|   | 
| void  | putScalarColumnBase (const ArrayBase &dataPtr) | 
|   | 
| void  | getScalarColumnCellsBase (const RefRows &rownrs, ArrayBase &dataPtr) | 
|   | 
| void  | putScalarColumnCellsBase (const RefRows &rownrs, const ArrayBase &dataPtr) | 
|   | 
| void  | getArrayColumnBase (ArrayBase &data) | 
|   | 
| void  | putArrayColumnBase (const ArrayBase &data) | 
|   | 
| void  | getArrayColumnCellsBase (const RefRows &rownrs, ArrayBase &data) | 
|   | 
| void  | putArrayColumnCellsBase (const RefRows &rownrs, const ArrayBase &data) | 
|   | 
| void  | getSliceBase (rownr_t rownr, const Slicer &slicer, ArrayBase &data) | 
|   | 
| void  | putSliceBase (rownr_t rownr, const Slicer &slicer, const ArrayBase &data) | 
|   | 
| void  | getColumnSliceBase (const Slicer &slicer, ArrayBase &data) | 
|   | 
| void  | putColumnSliceBase (const Slicer &slicer, const ArrayBase &data) | 
|   | 
| void  | getColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data) | 
|   | 
| void  | putColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data) | 
|   | 
template<typename DataType>
class dyscostman::ThreadedDyscoColumn< DataType >
A column for storing compressed values in a threaded way, tailored for the data and weight columns that use a threaded approach for encoding. 
- Author
 - André Offringa 
 
Definition at line 32 of file threadeddyscocolumn.h.