38 #ifndef ExG4HbookAnalysisManager_h
39 #define ExG4HbookAnalysisManager_h 1
44 #include <tools/hbook/wfile>
45 #include <tools/hbook/h1>
46 #include <tools/hbook/h2>
47 #include <tools/hbook/wntuple>
52 #define setpawc setpawc_
53 #define setntuc setntuc_
56 class ExG4HbookAnalysisManager;
73 ExG4HbookAnalysisManager();
74 virtual ~ExG4HbookAnalysisManager();
77 static ExG4HbookAnalysisManager* Instance();
109 virtual tools::hbook::wntuple* GetNtuple()
const;
129 G4int GetH1HbookIdOffset()
const;
130 G4int GetH2HbookIdOffset()
const;
131 G4int GetNtupleHbookId()
const;
136 static ExG4HbookAnalysisManager* fgInstance;
137 static const G4int fgkDefaultH2HbookIdOffset;
138 static const G4int fgkDefaultNtupleHbookId;
139 static const G4String fgkDefaultNtupleDirectoryName;
143 tools::hbook::wntuple::column<int>* GetNtupleIColumn(
G4int id)
const;
144 tools::hbook::wntuple::column<float>* GetNtupleFColumn(
G4int id)
const;
145 tools::hbook::wntuple::column<double>* GetNtupleDColumn(
G4int id)
const;
149 G4int fH1HbookIdOffset;
150 G4int fH2HbookIdOffset;
151 G4int fNtupleHbookId;
153 tools::hbook::wfile* fFile;
155 std::vector<tools::hbook::h1*> fH1Vector;
156 std::map<G4String, tools::hbook::h1*> fH1MapByName;
158 std::vector<tools::hbook::h2*> fH2Vector;
159 std::map<G4String, tools::hbook::h2*> fH2MapByName;
163 tools::hbook::wntuple* fNtuple;
164 std::map<G4int, tools::hbook::wntuple::column<int>* > fNtupleIColumnMap;
165 std::map<G4int, tools::hbook::wntuple::column<float>* > fNtupleFColumnMap;
166 std::map<G4int, tools::hbook::wntuple::column<double>* > fNtupleDColumnMap;
171 inline G4int ExG4HbookAnalysisManager::GetH1HbookIdOffset()
const {
172 return fH1HbookIdOffset;
175 inline G4int ExG4HbookAnalysisManager::GetH2HbookIdOffset()
const {
176 return fH2HbookIdOffset;
179 inline G4int ExG4HbookAnalysisManager::GetNtupleHbookId()
const {
180 return fNtupleHbookId;