51 typedef void (
M3Stream::*DoReadRecordFunc)( bool )
const;
52 typedef void (
M3Stream::*DoWriteRecordFunc)( bool );
65 void Initialize()
const;
67 void SetMutex(
const mutex_ptr& aMutexPtr );
75 const M3Record* GetStreamRecord()
const;
77 const M3Record* GetChannelRecord(
unsigned aChannel )
const;
92 bool ReadRecord(
int anOffset = 0,
bool aIfNewAcqStartAtFirstRec =
true )
const;
106 M3Record* GetChannelRecord(
unsigned aChannel );
109 bool WriteRecord(
bool aIsNewAcquisition );
139 void SetAccessFormat( uint32_t aFormat )
const;
143 void ReadRecordInterleavedToSeparate(
bool aIsNewAcquisition )
const;
144 void ReadRecordAsIs(
bool aIsNewAcquisition )
const;
147 void WriteRecordSeparateToInterleaved(
bool aIsNewAcquisition );
148 void WriteRecordAsIs(
bool aIsNewAcquisition );
188 void BuildIndex()
const;
190 void FinalizeCurrentAcq();
191 void FinalizeStream();
193 mutable char fAcqNameBuffer[ 10 ];
204 enum { N_DATA_DIMS = 2 };
205 mutable hsize_t fStrDataDims[ N_DATA_DIMS ];
206 mutable hsize_t fStrMaxDataDims[ N_DATA_DIMS ];
207 mutable hsize_t fStrDataChunkDims[ N_DATA_DIMS ];
208 mutable hsize_t fDataDims1Rec[ N_DATA_DIMS ];
209 mutable hsize_t fDataOffset[ N_DATA_DIMS ];
210 mutable hsize_t fDataStride[ N_DATA_DIMS ];
211 mutable hsize_t fDataBlock[ N_DATA_DIMS ];
218 fMutexPtr = aMutexPtr;
224 return &fStreamRecord;
RecordIdType fAcqFirstRecId
const M3Record * GetStreamRecord() const
Get the pointer to the stream record.
DoWriteRecordFunc fDoWriteRecord
static const uint32_t sSeparate
unsigned GetNRecordsInFile() const
RecordIdType * fAcqFirstRecIds
RecordIdType GetAcqFirstRecordId() const
void SetMutex(const mutex_ptr &aMutexPtr)
TimeType * fAcqFirstRecTimes
H5::Group * fH5StreamParentLoc
unsigned GetSampleSize() const
unsigned GetChannelRecordSize() const
Contains the information that makes up a record.
unsigned GetNChannels() const
DoReadRecordFunc fDoReadRecord
AcquisitionIdType fAcquisitionId
bool GetIsInitialized() const
unsigned GetFirstRecordInFile() const
RecordIdType * GetAcqFirstRecordIds() const
M3Record * fChannelRecords
unsigned GetStreamRecordSize() const
unsigned GetNAcquisitions() const
Read/write access for a data stream.
TimeType fAcqFirstRecTime
unsigned GetChannelRecordNBytes() const
unsigned GetStreamRecordNBytes() const
unsigned GetNRecordsInAcquisition() const
unsigned GetRecordCountInAcq() const
unsigned GetRecordCountInFile() const
unsigned fRecordCountInFile
bool GetIsInterleaved() const
unsigned fRecordCountInAcq
H5::DataType fDataTypeUser
unsigned fFirstRecordInFile
H5::DataSpace * fH5DataSpaceUser
AcquisitionIdType GetAcquisitionId() const
std::vector< std::pair< unsigned, unsigned > > fRecordIndex
uint32_t GetAccessFormat() const
H5::DataType fDataTypeInFile
bool GetRecordsAccessed() const
uint64_t AcquisitionIdType
std::shared_ptr< std::mutex > mutex_ptr
H5::DataSet * fH5CurrentAcqDataSet
TimeType * GetAcqFirstRecTimes() const
TimeType GetAcqFirstRecordTime() const
unsigned GetDataTypeSize() const