34 #ifndef G4H3ToolsManager_h 35 #define G4H3ToolsManager_h 1 63 void AddH3Vector(
const std::vector<tools::histo::h3d*>& h3Vector);
67 tools::histo::h3d* GetH3(
G4int id,
G4bool warn =
true,
68 G4bool onlyIfActive =
true)
const;
70 std::vector<tools::histo::h3d*>::iterator BeginH3();
71 std::vector<tools::histo::h3d*>::iterator EndH3();
72 std::vector<tools::histo::h3d*>::const_iterator BeginConstH3()
const;
73 std::vector<tools::histo::h3d*>::const_iterator EndConstH3()
const;
76 const std::vector<tools::histo::h3d*>& GetH3Vector()
const;
77 const std::vector<G4HnInformation*>& GetHnVector()
const;
95 const G4String& xbinScheme =
"linear",
96 const G4String& ybinScheme =
"linear",
97 const G4String& zbinScheme =
"linear")
final;
100 const std::vector<G4double>& xedges,
101 const std::vector<G4double>& yedges,
102 const std::vector<G4double>& zedges,
108 const G4String& zfcnName =
"none")
final;
120 const G4String& xbinScheme =
"linear",
121 const G4String& ybinScheme =
"linear",
122 const G4String& zbinScheme =
"linear")
final;
125 const std::vector<G4double>& xedges,
126 const std::vector<G4double>& yedges,
127 const std::vector<G4double>& zedges,
133 const G4String& zfcnName =
"none")
final;
151 virtual G4int GetH3Nxbins(
G4int id)
const final;
155 virtual G4int GetH3Nybins(
G4int id)
const final;
159 virtual G4int GetH3Nzbins(
G4int id)
const final;
177 virtual G4bool WriteOnAscii(std::ofstream& output)
final;
180 virtual std::shared_ptr<G4HnManager> GetHnManager()
final;
183 void AddH3Information(
const G4String& name,
206 inline std::vector<tools::histo::h3d*>::const_iterator
208 {
return BeginConstT(); }
210 inline std::vector<tools::histo::h3d*>::const_iterator
212 {
return EndConstT(); }
218 {
return fHnManager->GetHnVector(); }
221 {
return std::shared_ptr<G4HnManager>(fHnManager); }
static const G4double factor