20 #include "TDataMember.h" 21 #include "TVirtualCollectionProxy.h" 22 #include "TBaseClass.h" 39 GO4TRACE((15,
"TGo4HDF5Store::TGo4HDF5Store()", __LINE__, __FILE__));
47 GO4TRACE((15,
"TGo4HDF5Store::TGo4HDF5Store(char*,...)", __LINE__, __FILE__));
55 GO4TRACE((15,
"TGo4HDF5Store::TGo4HDF5Store(TGo4HDF5StoreParameter* par)", __LINE__, __FILE__));
57 TGo4Log::Error(
"TGo4HDF5Store::TGo4HDF5Store(.., TGo4HDF5StoreParameter* is not specified");
60 SetName(par->GetName());
68 GO4TRACE((15,
"TGo4HDF5Store::~TGo4HDF5Store()", __LINE__, __FILE__));
76 TString buffer(GetName());
84 TGo4Log::Info(
"TGo4HDF5Store: Open file %s RECREATE", buffer.Data());
85 }
else if (
fiFlags == H5F_ACC_RDWR) {
86 TGo4Log::Info(
"TGo4HDF5Store: Open file %s for UPDATE", buffer.Data());
87 }
else if (
fiFlags == H5F_ACC_EXCL) {
88 TGo4Log::Info(
"TGo4HDF5Store: Open file %s exclusively", buffer.Data());
93 }
catch (H5::Exception &ex) {
94 TString
msg = TString::Format(
"OpenFile with HDF5 exception in %s : %s\n", ex.getCFuncName(), ex.getCDetailMsg());
114 catch (H5::Exception &ex) {
116 TString::Format(
"BuildDataSet with HDF5 exception in %s : %s\n", ex.getCFuncName(), ex.getCDetailMsg());
124 GO4TRACE((12,
"TGo4HDF5Store::Store(TGo4EventElement *)", __LINE__, __FILE__));
135 }
catch (H5::Exception &ex) {
136 TString
msg = TString::Format(
"Store() with HDF5 exception in %s : %s\n", ex.getCFuncName(), ex.getCDetailMsg());
170 TGo4Log::Info(
"TGo4HDF5Store: WriteToStore not yet implemented for auxiliary objects of class %s (name:%s)\n",ob->Class()->GetName(), ob->GetName());
Int_t Store(TGo4EventElement *event) override
static const char * fgcFILESUF
static void Info(const char *text,...) GO4_PRINTF_ARGS
UInt_t ConvertFileMode(Go4_H5_File_Flags flags)
TGo4EventElement * fxEvent
virtual void Write(hsize_t sequencenum, H5::H5File *file)
void WriteToStore(TNamed *ob)
virtual void DeleteDataSet()
Go4_H5_File_Flags GetHDF5Flags() const
static void Error(const char *text,...) GO4_PRINTF_ARGS
void OpenFile(const char *name=nullptr) override
virtual void BuildWriteDataset(H5::H5File *file)
void BuildDataType(TGo4EventElement *event, TGo4HDF5DataHandle *parent=nullptr, Int_t index=0)
virtual void SetObjectPointer(void *memptr)
void BuildDataSet(TGo4EventElement *event) override
TGo4HDF5DataHandle * fxHandle