35 #ifndef ExG4HbookAnalysisManager_h
36 #define ExG4HbookAnalysisManager_h 1
41 #include <tools/hbook/wfile>
42 #include <tools/hbook/h1>
43 #include <tools/hbook/h2>
44 #include <tools/hbook/p1>
45 #include <tools/hbook/wntuple>
50 #define setpawc setpawc_
51 #define setntuc setntuc_
54 class ExG4HbookAnalysisManager;
57 typedef tools::hbook::h1
G4AnaH1;
58 typedef tools::hbook::h1
G4H1;
59 typedef tools::hbook::h2
G4AnaH2;
60 typedef tools::hbook::h2
G4H2;
61 typedef tools::hbook::p1
G4P1;
62 typedef tools::hbook::wntuple
G4Ntuple;
66 class ExG4HbookFileManager;
67 class ExG4HbookH1Manager;
68 class ExG4HbookH2Manager;
70 class ExG4HbookP1Manager;
72 class ExG4HbookNtupleManager;
83 ExG4HbookAnalysisManager();
84 virtual ~ExG4HbookAnalysisManager();
87 static ExG4HbookAnalysisManager* Create(
G4bool isMaster =
true);
88 static ExG4HbookAnalysisManager* Instance();
98 G4int GetH1HbookIdOffset()
const;
104 G4int GetH2HbookIdOffset()
const;
110 G4int GetP1HbookIdOffset()
const;
115 G4int GetNtupleHbookIdOffset()
const;
119 tools::hbook::h1* GetH1(
G4int id,
G4bool warn =
true,
120 G4bool onlyIfActive =
true)
const;
121 tools::hbook::h2* GetH2(
G4int id,
G4bool warn =
true,
122 G4bool onlyIfActive =
true)
const;
123 tools::hbook::p1* GetP1(
G4int id,
G4bool warn =
true,
124 G4bool onlyIfActive =
true)
const;
125 tools::hbook::wntuple* GetNtuple()
const;
126 tools::hbook::wntuple* GetNtuple(
G4int ntupleId)
const;
129 std::vector<tools::hbook::h1*>::iterator BeginH1();
130 std::vector<tools::hbook::h1*>::iterator EndH1();
131 std::vector<tools::hbook::h1*>::const_iterator BeginConstH1()
const;
132 std::vector<tools::hbook::h1*>::const_iterator EndConstH1()
const;
134 std::vector<tools::hbook::h2*>::iterator BeginH2();
135 std::vector<tools::hbook::h2*>::iterator EndH2();
136 std::vector<tools::hbook::h2*>::const_iterator BeginConstH2()
const;
137 std::vector<tools::hbook::h2*>::const_iterator EndConstH2()
const;
139 std::vector<tools::hbook::p1*>::iterator BeginP1();
140 std::vector<tools::hbook::p1*>::iterator EndP1();
141 std::vector<tools::hbook::p1*>::const_iterator BeginConstP1()
const;
142 std::vector<tools::hbook::p1*>::const_iterator EndConstP1()
const;
144 std::vector<tools::hbook::wntuple*>::iterator BeginNtuple();
145 std::vector<tools::hbook::wntuple*>::iterator EndNtuple();
146 std::vector<tools::hbook::wntuple*>::const_iterator BeginConstNtuple()
const;
147 std::vector<tools::hbook::wntuple*>::const_iterator EndConstNtuple()
const;
161 static ExG4HbookAnalysisManager* fgInstance;
167 ExG4HbookH1Manager* fH1Manager;
168 ExG4HbookH2Manager* fH2Manager;
170 ExG4HbookP1Manager* fP1Manager;
172 ExG4HbookNtupleManager* fNtupleManager;
173 std::shared_ptr<ExG4HbookFileManager> fFileManager;
virtual G4bool MergeImpl(tools::histo::hmpi *hmpi)=0
tools::hbook::wntuple G4Ntuple
virtual G4bool WriteImpl()=0
virtual G4bool PlotImpl()=0
Manager class for P2 with dummy implementation.
virtual G4bool OpenFileImpl(const G4String &fileName)=0
virtual G4bool IsOpenFileImpl() const =0
ExG4HbookAnalysisManager G4AnalysisManager
Manager class for H3 with dummy implementation.
virtual G4bool CloseFileImpl()=0