35 #ifndef ExG4HbookH2Manager_h
36 #define ExG4HbookH2Manager_h 1
41 #include <tools/hbook/h2>
46 class ExG4HbookFileManager;
75 friend class ExG4HbookAnalysisManager;
79 virtual ~ExG4HbookH2Manager();
88 G4int GetH2HbookIdOffset()
const;
91 void SetFileManager(ExG4HbookFileManager* fileManager);
94 tools::hbook::h2* GetH2(
G4int id,
G4bool warn =
true,
95 G4bool onlyIfActive =
true)
const;
109 const G4String& xbinScheme =
"linear",
110 const G4String& ybinScheme =
"linear");
113 const std::vector<G4double>& xedges,
114 const std::vector<G4double>& yedges,
127 const G4String& xbinScheme =
"linear",
128 const G4String& ybinScheme =
"linear");
131 const std::vector<G4double>& xedges,
132 const std::vector<G4double>& yedges,
175 static const G4int fgkDefaultH2HbookIdOffset;
179 void SetH2HbookIdOffset();
180 void CreateH2sFromBooking();
183 virtual h2_booking* GetH2Booking(
G4int id,
G4bool warn =
true)
const;
185 virtual tools::hbook::h2* GetH2InFunction(
G4int id,
G4String function,
187 G4bool onlyIfActive =
true)
const;
191 ExG4HbookFileManager* fFileManager;
192 G4int fH2HbookIdOffset;
193 std::vector<tools::hbook::h2*> fH2Vector;
194 std::vector<h2_booking*> fH2BookingVector;
195 std::map<G4String, G4int> fH2NameIdMap;
200 inline void ExG4HbookH2Manager::SetFileManager(ExG4HbookFileManager* fileManager)
201 { fFileManager = fileManager; }
203 inline G4int ExG4HbookH2Manager::GetH2HbookIdOffset()
const {
204 return fH2HbookIdOffset;
virtual G4bool SetH2YAxisTitle(G4int id, const G4String &title)=0
virtual G4String GetH2Title(G4int id) const =0
virtual G4double GetH2Xmax(G4int id) const =0
virtual G4int GetH2Nybins(G4int id) const =0
virtual G4bool ScaleH2(G4int id, G4double factor)=0
virtual G4bool WriteOnAscii(std::ofstream &output)=0
virtual G4bool SetH2ZAxisTitle(G4int id, const G4String &title)=0
virtual G4int GetH2Nxbins(G4int id) const =0
virtual G4double GetH2Xmin(G4int id) const =0
virtual G4bool SetH2Title(G4int id, const G4String &title)=0
virtual G4double GetH2YWidth(G4int id) const =0
virtual G4int CreateH2(const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear")=0
virtual G4bool SetH2(G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear")=0
virtual G4double GetH2Ymin(G4int id) const =0
virtual G4String GetH2ZAxisTitle(G4int id) const =0
virtual G4String GetH2YAxisTitle(G4int id) const =0
virtual G4int GetH2Id(const G4String &name, G4bool warn=true) const =0
virtual G4String GetH2XAxisTitle(G4int id) const =0
virtual G4bool FillH2(G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)=0
virtual G4double GetH2XWidth(G4int id) const =0
virtual G4bool SetH2XAxisTitle(G4int id, const G4String &title)=0
virtual G4double GetH2Ymax(G4int id) const =0