76 const char * MatrixName)
81 char ErrorMessage[256];
83 throw ios::failure(ErrorMessage);
89 char ErrorMessage[256];
91 throw ios::failure(ErrorMessage);
96 ComplexDims.
X = 2 * ComplexDims.
X;
115 const char * MatrixName,
116 const size_t CompressionLevel)
120 ComplexDims.
X = 2 * ComplexDims.
X;
141 THDF5_File::hdf5_mdt_float);
145 THDF5_File::hdf5_mdt_complex);
size_t Z
Z dimension size.
Abstract base class for float based matrices defining basic interface. Higher dimensional matrices st...
THDF5_File::THDF5_MatrixDataType ReadMatrixDataType(const hid_t ParentGroup, const char *DatasetName)
Read matrix data type from the dataset.
virtual void WriteDataToHDF5File(THDF5_File &HDF5_File, const char *MatrixName, const size_t CompressionLevel)
Write data into the HDF5_File.
virtual void ReadDataFromHDF5File(THDF5_File &HDF5_File, const char *MatrixName)
Load data from the HDF5_File.
virtual void AllocateMemory()
Memory allocation.
size_t p2DDataSliceSize
Size of a 2D slab (X,Y).
virtual void InitDimensions(const TDimensionSizes &DimensionSizes)
Initialize dimension sizes and related structures.
size_t X
X dimension size.
void WriteHyperSlab(const hid_t HDF5_Dataset_id, const TDimensionSizes &Position, const TDimensionSizes &Size, const float *Data)
Write a hyper-slab into the dataset - float dataset.
size_t pTotalAllocatedElementCount
Total number of allocated elements (in terms of floats).
size_t pTotalElementCount
Total number of elements.
void WriteMatrixDataType(const hid_t ParentGroup, const char *DatasetName, const THDF5_MatrixDataType &MatrixDataType)
Write matrix data type into the dataset under a specified group.
void WriteMatrixDomainType(const hid_t ParentGroup, const char *DatasetName, const THDF5_MatrixDomainType &MatrixDomainType)
Write matrix domain type into the dataset under the root group.
struct TDimensionSizes pDimensionSizes
Dimension sizes.
hid_t GetRootGroup() const
Get handle to the root group.
The header file containing all error messages of the project.
hid_t CreateFloatDataset(const hid_t ParentGroup, const char *DatasetName, const TDimensionSizes &DimensionSizes, const TDimensionSizes &ChunkSizes, const size_t CompressionLevel)
Create the HDF5 dataset at a specified place in the file tree (3D/4D).
size_t pDataRowSize
Size of a 1D row in X dimension.
The header file with the class for complex matrices.
THDF5_File::THDF5_MatrixDomainType ReadMatrixDomainType(const hid_t ParentGroup, const char *DatasetName)
Read matrix domain type from the dataset under a specified group.
size_t Y
Y dimension size.
void ReadCompleteDataset(const hid_t ParentGroup, const char *DatasetName, const TDimensionSizes &DimensionSizes, float *Data)
Read data from the dataset under a specified group - float dataset.
TComplexMatrix()
Default constructor not allowed for public.
TDimensionSizes()
Default constructor.
const char *const Matrix_ERR_FMT_MatrixNotComplex
Matrix class error message.
const char *const Matrix_ERR_FMT_MatrixNotFloat
Matrix class error message.
float * pMatrixData
Raw matrix data.
void CloseDataset(const hid_t HDF5_Dataset_id)
Close the HDF5 dataset.
Class wrapping the HDF5 routines.
Structure with 4D dimension sizes (3 in space and 1 in time).