38 #ifndef G4VAnalysisManager_h 39 #define G4VAnalysisManager_h 1 83 void SetCompressionLevel(
G4int level);
86 G4String GetHistoDirectoryName()
const;
87 G4String GetNtupleDirectoryName()
const;
88 G4int GetCompressionLevel()
const;
96 const G4String& binSchemeName =
"linear");
99 const std::vector<G4double>& edges,
110 const G4String& xbinSchemeName =
"linear",
111 const G4String& ybinSchemeName =
"linear");
114 const std::vector<G4double>& xedges,
115 const std::vector<G4double>& yedges,
131 const G4String& xbinSchemeName =
"linear",
132 const G4String& ybinSchemeName =
"linear",
133 const G4String& zbinSchemeName =
"linear");
136 const std::vector<G4double>& xedges,
137 const std::vector<G4double>& yedges,
138 const std::vector<G4double>& zedges,
150 const G4String& binSchemeName =
"linear");
153 const std::vector<G4double>& edges,
164 const G4String& xbinSchemeName =
"linear",
165 const G4String& ybinSchemeName =
"linear");
168 const std::vector<G4double>& xedges,
169 const std::vector<G4double>& yedges,
185 const G4String& xbinSchemeName =
"linear",
186 const G4String& ybinSchemeName =
"linear",
187 const G4String& zbinSchemeName =
"linear");
190 const std::vector<G4double>& xedges,
191 const std::vector<G4double>& yedges,
192 const std::vector<G4double>& zedges,
213 const G4String& xbinSchemeName =
"linear");
215 const std::vector<G4double>& edges,
232 const G4String& xbinSchemeName =
"linear",
233 const G4String& ybinSchemeName =
"linear");
235 const std::vector<G4double>& xedges,
236 const std::vector<G4double>& yedges,
252 const G4String& xbinSchemeName =
"linear");
254 const std::vector<G4double>& edges,
271 const G4String& xbinSchemeName =
"linear",
272 const G4String& ybinSchemeName =
"linear");
274 const std::vector<G4double>& xedges,
275 const std::vector<G4double>& yedges,
298 G4int CreateNtupleIColumn(
299 const G4String& name, std::vector<int>& vector);
300 G4int CreateNtupleFColumn(
301 const G4String& name, std::vector<float>& vector);
302 G4int CreateNtupleDColumn(
303 const G4String& name, std::vector<double>& vector);
314 const G4String& name, std::vector<int>& vector);
316 const G4String& name, std::vector<float>& vector);
318 const G4String& name, std::vector<double>& vector);
320 void FinishNtuple(
G4int ntupleId);
368 void SetActivation(
G4bool activation);
369 G4bool GetActivation()
const;
385 G4bool IsPlotting()
const;
388 G4int GetFirstH1Id()
const;
389 G4int GetFirstH2Id()
const;
390 G4int GetFirstH3Id()
const;
391 G4int GetFirstP1Id()
const;
392 G4int GetFirstP2Id()
const;
393 G4int GetFirstNtupleId()
const;
394 G4int GetFirstNtupleColumnId()
const;
396 G4int GetNofH1s()
const;
397 G4int GetNofH2s()
const;
398 G4int GetNofH3s()
const;
399 G4int GetNofP1s()
const;
400 G4int GetNofP2s()
const;
401 G4int GetNofNtuples()
const;
410 void SetH1Activation(
G4bool activation);
415 void SetH2Activation(
G4bool activation);
420 void SetH3Activation(
G4bool activation);
425 void SetP1Activation(
G4bool activation);
430 void SetP2Activation(
G4bool activation);
435 void SetNtupleActivation(
G4bool activation);
436 void SetNtupleActivation(
G4int id,
G4bool activation);
578 void SetVerboseLevel(
G4int verboseLevel);
579 G4int GetVerboseLevel()
const;
589 virtual G4bool WriteImpl() = 0;
590 virtual G4bool CloseFileImpl() = 0;
591 virtual G4bool PlotImpl() = 0;
592 virtual G4bool MergeImpl(tools::histo::hmpi* hmpi) = 0;
593 virtual G4bool IsOpenFileImpl()
const = 0;
602 void SetFileManager(std::shared_ptr<G4VFileManager> fileManager);
629 #include "G4VAnalysisManager.icc"
std::unique_ptr< G4VNtupleManager > fVNtupleManager
void Merge(std::function< void(unsigned int)> senderF, std::function< void(unsigned int)> receiverF, std::function< void(void)> barrierF, unsigned int commSize, unsigned int myrank)
std::unique_ptr< G4VP2Manager > fVP2Manager
std::shared_ptr< G4HnManager > fH1HnManager
std::unique_ptr< G4VH2Manager > fVH2Manager
std::shared_ptr< G4VFileManager > fVFileManager
std::unique_ptr< G4VH1Manager > fVH1Manager
std::shared_ptr< G4HnManager > fP2HnManager
std::unique_ptr< G4VP1Manager > fVP1Manager
static const G4double factor
std::shared_ptr< G4HnManager > fH3HnManager
std::unique_ptr< G4AnalysisMessenger > fMessenger
std::shared_ptr< G4HnManager > fP1HnManager
std::shared_ptr< G4HnManager > fH2HnManager
G4AnalysisManagerState fState
std::unique_ptr< G4VH3Manager > fVH3Manager