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;
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;
109 G4int GetNtupleHbookIdOffset()
const;
113 tools::hbook::h1* GetH1(
G4int id,
G4bool warn =
true,
114 G4bool onlyIfActive =
true)
const;
115 tools::hbook::h2* GetH2(
G4int id,
G4bool warn =
true,
116 G4bool onlyIfActive =
true)
const;
117 tools::hbook::wntuple* GetNtuple()
const;
118 tools::hbook::wntuple* GetNtuple(
G4int ntupleId)
const;
121 std::vector<tools::hbook::h1*>::iterator BeginH1();
122 std::vector<tools::hbook::h1*>::iterator EndH1();
123 std::vector<tools::hbook::h1*>::const_iterator BeginConstH1()
const;
124 std::vector<tools::hbook::h1*>::const_iterator EndConstH1()
const;
126 std::vector<tools::hbook::h2*>::iterator BeginH2();
127 std::vector<tools::hbook::h2*>::iterator EndH2();
128 std::vector<tools::hbook::h2*>::const_iterator BeginConstH2()
const;
129 std::vector<tools::hbook::h2*>::const_iterator EndConstH2()
const;
131 std::vector<tools::hbook::wntuple*>::iterator BeginNtuple();
132 std::vector<tools::hbook::wntuple*>::iterator EndNtuple();
133 std::vector<tools::hbook::wntuple*>::const_iterator BeginConstNtuple()
const;
134 std::vector<tools::hbook::wntuple*>::const_iterator EndConstNtuple()
const;
145 static ExG4HbookAnalysisManager* fgInstance;
151 ExG4HbookH1Manager* fH1Manager;
152 ExG4HbookH2Manager* fH2Manager;
154 ExG4HbookP1Manager* fP1Manager;
156 ExG4HbookNtupleManager* fNtupleManager;
157 ExG4HbookFileManager* fFileManager;
tools::hbook::wntuple G4Ntuple
virtual G4bool WriteImpl()=0
Manager class for P2 with dummy implementation.
virtual G4bool OpenFileImpl(const G4String &fileName)=0
ExG4HbookAnalysisManager G4AnalysisManager
Manager class for H3 with dummy implementation.
virtual G4bool CloseFileImpl()=0