GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Handle object to access datasets in hdf5 formatted file with go4 event data trial implementation for std::vectors of std::vector collections may not work... More...
#include <TGo4HDF5DataHandle.h>
Public Member Functions | |
TGo4HDF5SubVectorDataHandle (const char *name, size_t datasize) | |
create new data handle | |
virtual | ~TGo4HDF5SubVectorDataHandle () |
void | BuildReadDataset (H5::H5File *file, TGo4HDF5Source *parent) override |
create datasets and buffers for reading this structure from hdf5 file. | |
void | BuildWriteDataset (H5::H5File *file) override |
create datasets for writing memory structure of type into file. | |
void | Read (hsize_t sequencenum, H5::H5File *file) override |
Read event of sequence number from file. | |
void | SetInnerClassName (const char *nm) |
void | SetObjectPointer (void *memptr) override |
define location of corresponding object in memory. | |
void | Write (hsize_t sequencenum, H5::H5File *file) override |
Write event of sequence number from file. | |
![]() | |
TGo4HDF5VectorDataHandle (const char *name, size_t datasize) | |
create new data handle | |
virtual | ~TGo4HDF5VectorDataHandle () |
void | BuildReadDataset (H5::H5File *file, TGo4HDF5Source *parent) override |
create datasets and buffers for reading this structure from hdf5 file. | |
void | BuildWriteDataset (H5::H5File *file) override |
create datasets for writing memory structure of type into file. | |
void | Read (hsize_t sequencenum, H5::H5File *file) override |
Read event of sequence number from file. | |
void | SetElementSize (size_t len) |
remember size of a single element (structure) in this collection, if it is one. | |
void | SetObjectPointer (void *memptr) override |
define location of corresponding object in memory. | |
void | Write (hsize_t sequencenum, H5::H5File *ile) override |
Write event of sequence number from file. | |
![]() | |
TGo4HDF5BasicDataHandle (const char *name, size_t datasize) | |
create new data handle | |
virtual | ~TGo4HDF5BasicDataHandle () |
![]() | |
TGo4HDF5DataHandle (const char *name, size_t datasize) | |
create new data handle | |
virtual | ~TGo4HDF5DataHandle () |
TGo4HDF5DataHandle * | AddSubMember (const char *name, size_t datasize, const char *collectiontype=nullptr) |
create new subhandle for complex member component on heap. | |
void * | Data () const |
TGo4HDF5DataHandle * | FindSubMember (const char *name) |
lookup if subcomponent of name already is in list. | |
TGo4HDF5DataHandle * | GetSubMember (UInt_t ix) |
H5::CompType * | GetType () const |
return handle for type descriptor. | |
const char * | GetTypeName () const |
void | InsertTypeMember (const H5std_string &name, size_t offset, const H5::DataType &new_member) |
wrapper function to define contained structure member. | |
void | SetActive (Bool_t on) |
void | SetAllSubMembersActive (Bool_t on) |
void | SetMemberClass (const char *clname) |
type of the member to access from outside | |
void | SetMemberName (const char *name) |
identifier for the member to access from outside using the top event handle | |
void | SetParentOffset (size_t off) |
remember location of this object relative to upper level object. | |
void | SetTopEvent (TGo4EventElement *eve) |
pass the top level event element down the member hierarchy. | |
void | SetTopEventClass (const char *classname) |
pass the top level event element class down the member hierarchy. | |
Protected Attributes | |
TString | fxInnerClassName |
class that is contained in innermost vector | |
![]() | |
size_t | fiElementSize {0} |
size of the (collection element) structure | |
H5::CompType * | fxCollection {nullptr} |
collection type with fxType as entries | |
TGo4HDF5VarContainer | fxVarHandle |
handle for variable arrays | |
![]() | |
Char_t * | fxReadBuffer {nullptr} |
secondary read bounce buffer for hdf5 | |
![]() | |
Bool_t | fbDataSetActive {kFALSE} |
we may disable this dataset temporarily from writing or reading useful for dynamic vector of vector components | |
Bool_t | fbDataSetExists {kFALSE} |
check on the fly if this handle has already created a dataset | |
size_t | fiDataSize {0} |
size of data structure in bytes, for redefining output dataset | |
ULong_t | fiEntries {0} |
number of event entries found in file dataspace | |
size_t | fiParentOffset {0} |
offset of this data structure relative to top level event object | |
size_t | fiReadOffset {0} |
begin of real eventdata payload after event object pointer | |
void * | fxData {nullptr} |
pointer to begin of data in memory | |
H5::DataSet | fxDataSet |
dataset containing the structure | |
H5::DataSpace * | fxDataSpace {nullptr} |
dataspace in memory | |
TGo4EventElement * | fxEvent {nullptr} |
the top level event element to access the current data member from outside | |
TString | fxEventClass |
the top level event element classname to access the current data member from outside | |
H5::DataSpace | fxFileSpace |
dataspace in file | |
TString | fxMemberClass |
classname of the entry for interpreter to operate e.g. | |
TString | fxMemberHandle |
predefined interpreter access command e.g. | |
TGo4HDF5Source * | fxParentSource {nullptr} |
backpointer to parent source for exceptions | |
std::vector< TGo4HDF5DataHandle * > | fxSubcomponents |
collect sub-components of the referenced data object | |
H5::CompType * | fxType {nullptr} |
component type representing the data structure | |
TString | fxTypeName |
identifier of the dataset | |
Additional Inherited Members | |
![]() | |
static TGo4HDF5DataHandleFactory | fxFactory |
![]() | |
void | AllocReadBuffer (size_t size) |
(Re-)allocate read buffer depending on the object size read from file | |
Handle object to access datasets in hdf5 formatted file with go4 event data trial implementation for std::vectors of std::vector collections may not work...
Definition at line 339 of file TGo4HDF5DataHandle.h.
TGo4HDF5SubVectorDataHandle::TGo4HDF5SubVectorDataHandle | ( | const char * | name, |
size_t | datasize ) |
create new data handle
Definition at line 750 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5VectorDataHandle::TGo4HDF5VectorDataHandle(), and go4hdfdbg.
|
virtual |
Definition at line 758 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::fxTypeName, and go4hdfdbg.
|
overridevirtual |
create datasets and buffers for reading this structure from hdf5 file.
parent pointer is given for error handling case
Reimplemented from TGo4HDF5BasicDataHandle.
Definition at line 843 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::BuildReadDataset(), and TGo4HDF5DataHandle::SetActive().
|
overridevirtual |
create datasets for writing memory structure of type into file.
Reimplemented from TGo4HDF5BasicDataHandle.
Definition at line 850 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::fxTypeName, go4hdfdbg, and TGo4HDF5DataHandle::SetActive().
|
overridevirtual |
Read event of sequence number from file.
Reimplemented from TGo4HDF5BasicDataHandle.
Definition at line 861 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::BuildReadDataset(), TGo4HDF5DataHandle::fxParentSource, TGo4HDF5DataHandle::fxTypeName, go4hdfdbg, and TGo4HDF5DataHandle::Read().
|
inline |
Definition at line 364 of file TGo4HDF5DataHandle.h.
References fxInnerClassName.
Referenced by TGo4HDF5DataHandleFactory::CreateDataHandle().
|
overridevirtual |
define location of corresponding object in memory.
This is base pointer for all member specific offsets.
Reimplemented from TGo4HDF5DataHandle.
Definition at line 763 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::AddSubMember(), TGo4HDF5DataHandle::Data(), TGo4HDF5VectorDataHandle::fiElementSize, TGo4HDF5Adapter::FillTypeInfo(), TGo4HDF5DataHandle::FindSubMember(), fxInnerClassName, TGo4HDF5DataHandle::fxMemberHandle, TGo4HDF5VectorDataHandle::fxVarHandle, TGo4HDF5DataHandle::GetTypeName(), go4hdfdbg, TGo4HDF5DataHandle::SetActive(), TGo4HDF5DataHandle::SetAllSubMembersActive(), TGo4HDF5DataHandle::SetMemberClass(), TGo4HDF5DataHandle::SetMemberName(), TGo4HDF5DataHandle::SetObjectPointer(), TGo4HDF5VectorDataHandle::SetObjectPointer(), and TGo4HDF5DataHandle::SetParentOffset().
|
overridevirtual |
Write event of sequence number from file.
Reimplemented from TGo4HDF5BasicDataHandle.
Definition at line 875 of file TGo4HDF5DataHandle.cxx.
References TGo4HDF5DataHandle::Write().
|
protected |
class that is contained in innermost vector
Definition at line 370 of file TGo4HDF5DataHandle.h.
Referenced by SetInnerClassName(), and SetObjectPointer().