14#ifndef TGO4HDF5ADAPTER_H
15#define TGO4HDF5ADAPTER_H
20#include "RtypesCore.h"
50 size_t memberoffset,
const char *membername,
const char *classname, TClass *valueclass);
57 size_t memberoffset = 0, Int_t arraydim = 0, TDataMember *member =
nullptr);
62 virtual void OpenFile(
const char *fname =
nullptr) = 0;
Go4_H5_File_Flags
to decouple parameter from hdf5 library we use own definitions for file modes
The abstract base class for the data elements of which the unpacked events (or detector structure dat...
virtual ~TGo4HDF5Adapter()
UInt_t fiFlags
remember file property flags.
void BuildDataType(TGo4EventElement *event, TGo4HDF5DataHandle *parent=nullptr, Int_t index=0)
Prepare data type from event structure for hdf5.
UInt_t ConvertFileMode(Go4_H5_File_Flags flags)
Convert common go4 filemode flags to hdf5 flags:
Bool_t fbDataSetExists
True if branch already exists.
TGo4HDF5DataHandle * fxHandle
handle object to recursively treat the io of nested event components
hsize_t fiFillCount
counter of filled events.
virtual void DeleteDataSet()
delete dataset resource
size_t ScanEventSize(TGo4EventElement *event)
evaluate total memory size of event object regarding composite subevents
virtual void OpenFile(const char *fname=nullptr)=0
opens the hdf5 file depending on the setup
virtual void BuildDataSet(TGo4EventElement *event)=0
initialize dataset from event structure
static void FillTypeInfo(TGo4HDF5DataHandle *handle, TClass *rootclass, const char *basename=nullptr)
evaluate h5 type information from root class streamer
virtual void CloseFile()
opens the hdf5 file depending on the setup
TGo4EventElement * fxEvent
Points to event structure to be filled into dataset.
static const char * fgcFILESUF
Standard suffix for file name.
static void AddSubHandle(TGo4HDF5DataHandle *handle, const char *name, const char *type, size_t size, size_t memberoffset, const char *membername, const char *classname, TClass *valueclass)
Add subhandle to handle that represents a contained collection.
H5::H5File * fxFile
the currently open hdf5 file
The base class to access a datatype with substructures in hdf5.