35 #ifndef ExG4HbookNtupleManager_h
36 #define ExG4HbookNtupleManager_h 1
42 #include <tools/hbook/wntuple>
47 class ExG4HbookFileManager;
57 friend class ExG4HbookAnalysisManager;
61 virtual ~ExG4HbookNtupleManager();
69 G4int GetNtupleHbookIdOffset()
const;
72 void SetFileManager(ExG4HbookFileManager* fileManager);
75 tools::hbook::wntuple* GetNtuple()
const;
76 tools::hbook::wntuple* GetNtuple(
G4int ntupleId)
const;
79 std::vector<tools::hbook::wntuple*>::iterator BeginNtuple();
80 std::vector<tools::hbook::wntuple*>::iterator EndNtuple();
81 std::vector<tools::hbook::wntuple*>::const_iterator BeginConstNtuple()
const;
82 std::vector<tools::hbook::wntuple*>::const_iterator EndConstNtuple()
const;
136 void SetNtupleHbookIdOffset();
137 void CreateNtuplesFromBooking();
139 tools::hbook::wntuple::column<int>*
140 GetNtupleIColumn(
G4int ntupleId,
G4int columnId)
const;
141 tools::hbook::wntuple::column<float>*
142 GetNtupleFColumn(
G4int ntupleId,
G4int columnId)
const;
143 tools::hbook::wntuple::column<double>*
144 GetNtupleDColumn(
G4int ntupleId,
G4int columnId)
const;
147 ExG4HbookNtupleDescription* GetNtupleInFunction(
G4int id,
150 G4bool onlyIfActive =
true)
const;
154 ExG4HbookFileManager* fFileManager;
155 G4int fNtupleHbookIdOffset;
156 std::vector<ExG4HbookNtupleDescription*> fNtupleDescriptionVector;
157 std::vector<tools::hbook::wntuple*> fNtupleVector;
162 inline void ExG4HbookNtupleManager::SetFileManager(ExG4HbookFileManager* fileManager)
163 { fFileManager = fileManager; }
165 inline G4int ExG4HbookNtupleManager::GetNtupleHbookIdOffset()
const {
166 return fNtupleHbookIdOffset;
169 inline std::vector<tools::hbook::wntuple*>::iterator
170 ExG4HbookNtupleManager::BeginNtuple()
171 {
return fNtupleVector.begin(); }
173 inline std::vector<tools::hbook::wntuple*>::iterator
174 ExG4HbookNtupleManager::EndNtuple()
175 {
return fNtupleVector.end(); }
177 inline std::vector<tools::hbook::wntuple*>::const_iterator
178 ExG4HbookNtupleManager::BeginConstNtuple()
const
179 {
return fNtupleVector.begin(); }
181 inline std::vector<tools::hbook::wntuple*>::const_iterator
182 ExG4HbookNtupleManager::EndConstNtuple()
const
183 {
return fNtupleVector.end(); }
185 inline G4int ExG4HbookNtupleManager::GetNofNtuples()
const
186 {
return fNtupleVector.size(); }
virtual G4int GetNofNtuples() const =0
virtual G4int CreateNtupleSColumn(const G4String &name)=0
virtual G4bool FillNtupleSColumn(G4int id, const G4String &value)=0
virtual G4int CreateNtuple(const G4String &name, const G4String &title)=0
virtual void FinishNtuple()=0
virtual G4int CreateNtupleFColumn(const G4String &name, std::vector< float > *vector)=0
virtual G4int CreateNtupleIColumn(const G4String &name, std::vector< int > *vector)=0
virtual G4bool FillNtupleIColumn(G4int id, G4int value)=0
virtual G4bool AddNtupleRow()=0
virtual G4bool FillNtupleFColumn(G4int id, G4float value)=0
virtual G4bool GetActivation(G4int id) const =0
virtual void SetActivation(G4bool activation)=0
virtual G4bool FillNtupleDColumn(G4int id, G4double value)=0
virtual G4int CreateNtupleDColumn(const G4String &name, std::vector< double > *vector)=0
Definition of the ExG4HbookNtupleDescription structure.