33 #ifndef G4RootAnalysisManager_h
34 #define G4RootAnalysisManager_h 1
39 #include "tools/wroot/ntuple"
40 #include "tools/histo/hmpi"
76 std::vector<tools::wroot::ntuple*>::iterator
BeginNtuple();
77 std::vector<tools::wroot::ntuple*>::iterator
EndNtuple();
79 std::vector<tools::wroot::ntuple*>::const_iterator
EndConstNtuple()
const;
83 G4int nofReducedNtupleFiles = 0,
84 unsigned int basketSize = fgkDefaultBasketSize);
95 static constexpr
unsigned int fgkDefaultBasketSize = 32000;
102 void SetNtupleMergingMode(
G4bool mergeNtuples,
G4int nofNtupleFiles);
103 void ClearNtupleManagers();
104 void CreateNtupleManagers();
105 G4int GetNtupleFileNumber();
107 template <
typename T>
108 G4bool WriteT(
const std::vector<T*>& htVector,
109 const std::vector<G4HnInformation*>& hnVector,
110 tools::wroot::directory* directory,
121 G4int fNofNtupleFiles;
125 std::shared_ptr<G4RootFileManager> fFileManager;
128 #include "G4RootAnalysisManager.icc"
virtual G4bool OpenFileImpl(const G4String &fileName) final
std::vector< tools::wroot::ntuple * >::const_iterator BeginConstNtuple() const
virtual G4bool IsOpenFileImpl() const final
virtual G4bool CloseFileImpl() final
static G4bool IsInstance()
G4RootAnalysisManager(G4bool isMaster=true)
std::vector< tools::wroot::ntuple * >::const_iterator EndConstNtuple() const
virtual ~G4RootAnalysisManager()
virtual G4bool WriteImpl() final
void SetNtupleMerging(G4bool mergeNtuples, G4int nofReducedNtupleFiles=0, unsigned int basketSize=fgkDefaultBasketSize)
static G4RootAnalysisManager * Instance()
std::vector< tools::wroot::ntuple * >::iterator EndNtuple()
std::vector< tools::wroot::ntuple * >::iterator BeginNtuple()
tools::wroot::ntuple * GetNtuple() const