32 #ifndef G4Hdf5NtupleManager_h
33 #define G4Hdf5NtupleManager_h 1
38 #include "tools/hdf5/ntuple"
67 void SetFileManager(std::shared_ptr<G4Hdf5FileManager> fileManager);
94 inline const std::vector<G4TNtupleDescription<tools::hdf5::ntuple>*>&
110 if ( !
ntuple )
return false;
114 if ( index < 0 || index >=
G4int(
ntuple->columns().size()) ) {
116 description <<
" " <<
"ntupleId " << ntupleId
117 <<
" columnId " << columnId <<
" does not exist.";
118 G4Exception(
"G4TNtupleManager::FillNtupleTColumn()",
122 auto icolumn =
ntuple->columns()[index];
125 auto column =
dynamic_cast<tools::hdf5::ntuple::column_string*
>(icolumn);
128 description <<
" Column type does not match: "
129 <<
" ntupleId " << ntupleId
130 <<
" columnId " << columnId <<
" value " <<
value;
141 description <<
" ntupleId " << ntupleId
142 <<
" columnId " << columnId <<
" value " <<
value;
std::vector< G4TNtupleDescription< tools::hdf5::ntuple > * > fNtupleDescriptionVector
std::ostringstream G4ExceptionDescription
G4bool GetIsActivation() const
virtual G4bool GetActivation(G4int ntupleId) const final
std::shared_ptr< G4Hdf5FileManager > fFileManager
G4Hdf5NtupleManager(const G4AnalysisManagerState &state)
TNTUPLE * GetNtupleInFunction(G4int id, G4String function, G4bool warn=true) const
G4int fFirstNtupleColumnId
virtual void CreateTNtupleFromBooking(NtupleDescriptionType *ntupleDescription) final
const XML_Char int const XML_Char * value
G4bool FillNtupleTColumn(G4int ntupleId, G4int columnId, const T &value)
const G4AnalysisVerbose * GetVerboseL4() const
virtual void CreateTNtuple(NtupleDescriptionType *ntupleDescription, const G4String &name, const G4String &title) final
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
virtual void FinishTNtuple(NtupleDescriptionType *ntupleDescription) final
const std::vector< NtupleDescriptionType * > & GetNtupleDescriptionVector() const
tools::hdf5::ntuple NtupleType
void SetFileManager(std::shared_ptr< G4Hdf5FileManager > fileManager)
const G4AnalysisManagerState & fState