Geant4  10.02.p03
G4CsvAnalysisManager Class Reference

#include <G4CsvAnalysisManager.hh>

Inheritance diagram for G4CsvAnalysisManager:
Collaboration diagram for G4CsvAnalysisManager:

Public Member Functions

 G4CsvAnalysisManager (G4bool isMaster=true)
 
 ~G4CsvAnalysisManager ()
 
tools::wcsv::ntupleGetNtuple () const
 
tools::wcsv::ntupleGetNtuple (G4int ntupleId) const
 
std::vector< tools::wcsv::ntuple * >::iterator BeginNtuple ()
 
std::vector< tools::wcsv::ntuple * >::iterator EndNtuple ()
 
std::vector< tools::wcsv::ntuple * >::const_iterator BeginConstNtuple () const
 
std::vector< tools::wcsv::ntuple * >::const_iterator EndConstNtuple () const
 
void SetIsCommentedHeader (G4bool isCommentedHeader)
 
void SetIsHippoHeader (G4bool isHippoHeader)
 
- Public Member Functions inherited from G4ToolsAnalysisManager
 G4ToolsAnalysisManager (const G4String &type, G4bool isMaster=true)
 
virtual ~G4ToolsAnalysisManager ()
 
tools::histo::h1dGetH1 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
tools::histo::h2d * GetH2 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
tools::histo::h3d * GetH3 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
tools::histo::p1d * GetP1 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
tools::histo::p2d * GetP2 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
std::vector< tools::histo::h1d * >::iterator BeginH1 ()
 
std::vector< tools::histo::h1d * >::iterator EndH1 ()
 
std::vector< tools::histo::h1d * >::const_iterator BeginConstH1 () const
 
std::vector< tools::histo::h1d * >::const_iterator EndConstH1 () const
 
std::vector< tools::histo::h2d * >::iterator BeginH2 ()
 
std::vector< tools::histo::h2d * >::iterator EndH2 ()
 
std::vector< tools::histo::h2d * >::const_iterator BeginConstH2 () const
 
std::vector< tools::histo::h2d * >::const_iterator EndConstH2 () const
 
std::vector< tools::histo::h3d * >::iterator BeginH3 ()
 
std::vector< tools::histo::h3d * >::iterator EndH3 ()
 
std::vector< tools::histo::h3d * >::const_iterator BeginConstH3 () const
 
std::vector< tools::histo::h3d * >::const_iterator EndConstH3 () const
 
std::vector< tools::histo::p1d * >::iterator BeginP1 ()
 
std::vector< tools::histo::p1d * >::iterator EndP1 ()
 
std::vector< tools::histo::p1d * >::const_iterator BeginConstP1 () const
 
std::vector< tools::histo::p1d * >::const_iterator EndConstP1 () const
 
std::vector< tools::histo::p2d * >::iterator BeginP2 ()
 
std::vector< tools::histo::p2d * >::iterator EndP2 ()
 
std::vector< tools::histo::p2d * >::const_iterator BeginConstP2 () const
 
std::vector< tools::histo::p2d * >::const_iterator EndConstP2 () const
 
std::vector< tools::wroot::ntuple * >::iterator BeginNtuple ()
 
std::vector< tools::wroot::ntuple * >::iterator EndNtuple ()
 
std::vector< tools::wroot::ntuple * >::const_iterator BeginConstNtuple () const
 
std::vector< tools::wroot::ntuple * >::const_iterator EndConstNtuple () const
 
- Public Member Functions inherited from G4VAnalysisManager
 G4VAnalysisManager (const G4String &type, G4bool isMaster)
 
virtual ~G4VAnalysisManager ()
 
G4bool OpenFile (const G4String &fileName="")
 
G4bool Write ()
 
G4bool CloseFile ()
 
G4bool Merge (tools::histo::hmpi *hmpi)
 
G4bool Plot ()
 
G4bool IsOpenFile () const
 
G4bool SetFileName (const G4String &fileName)
 
G4bool SetHistoDirectoryName (const G4String &dirName)
 
G4bool SetNtupleDirectoryName (const G4String &dirName)
 
void SetCompressionLevel (G4int level)
 
G4String GetFileName () const
 
G4String GetHistoDirectoryName () const
 
G4String GetNtupleDirectoryName () const
 
G4int GetCompressionLevel () const
 
G4int CreateH1 (const G4String &name, const G4String &title, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none", const G4String &binSchemeName="linear")
 
G4int CreateH1 (const G4String &name, const G4String &title, const std::vector< G4double > &edges, const G4String &unitName="none", const G4String &fcnName="none")
 
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 &xbinSchemeName="linear", const G4String &ybinSchemeName="linear")
 
G4int CreateH2 (const G4String &name, const G4String &title, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
G4int CreateH3 (const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4int nzbins, G4double zmin, G4double zmax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear", const G4String &zbinSchemeName="linear")
 
G4int CreateH3 (const G4String &name, const G4String &title, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const std::vector< G4double > &zedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none")
 
G4bool SetH1 (G4int id, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none", const G4String &binSchemeName="linear")
 
G4bool SetH1 (G4int id, const std::vector< G4double > &edges, const G4String &unitName="none", const G4String &fcnName="none")
 
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 &xbinSchemeName="linear", const G4String &ybinSchemeName="linear")
 
G4bool SetH2 (G4int id, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
G4bool SetH3 (G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nzbins, G4double zmin, G4double zmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear", const G4String &zbinSchemeName="linear")
 
G4bool SetH3 (G4int id, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const std::vector< G4double > &zedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none")
 
G4bool ScaleH1 (G4int id, G4double factor)
 
G4bool ScaleH2 (G4int id, G4double factor)
 
G4bool ScaleH3 (G4int id, G4double factor)
 
G4int CreateP1 (const G4String &name, const G4String &title, G4int nbins, G4double xmin, G4double xmax, G4double ymin=0, G4double ymax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinSchemeName="linear")
 
G4int CreateP1 (const G4String &name, const G4String &title, const std::vector< G4double > &edges, G4double ymin=0, G4double ymax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
G4int CreateP2 (const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear")
 
G4int CreateP2 (const G4String &name, const G4String &title, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none")
 
G4bool SetP1 (G4int id, G4int nbins, G4double xmin, G4double xmax, G4double ymin=0, G4double ymax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinSchemeName="linear")
 
G4bool SetP1 (G4int id, const std::vector< G4double > &edges, G4double ymin=0, G4double ymax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
G4bool SetP2 (G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear")
 
G4bool SetP2 (G4int id, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none")
 
G4bool ScaleP1 (G4int id, G4double factor)
 
G4bool ScaleP2 (G4int id, G4double factor)
 
G4int CreateNtuple (const G4String &name, const G4String &title)
 
G4int CreateNtupleIColumn (const G4String &name)
 
G4int CreateNtupleFColumn (const G4String &name)
 
G4int CreateNtupleDColumn (const G4String &name)
 
G4int CreateNtupleSColumn (const G4String &name)
 
G4int CreateNtupleIColumn (const G4String &name, std::vector< int > &vector)
 
G4int CreateNtupleFColumn (const G4String &name, std::vector< float > &vector)
 
G4int CreateNtupleDColumn (const G4String &name, std::vector< double > &vector)
 
void FinishNtuple ()
 
G4int CreateNtupleIColumn (G4int ntupleId, const G4String &name)
 
G4int CreateNtupleFColumn (G4int ntupleId, const G4String &name)
 
G4int CreateNtupleDColumn (G4int ntupleId, const G4String &name)
 
G4int CreateNtupleSColumn (G4int ntupleId, const G4String &name)
 
G4int CreateNtupleIColumn (G4int ntupleId, const G4String &name, std::vector< int > &vector)
 
G4int CreateNtupleFColumn (G4int ntupleId, const G4String &name, std::vector< float > &vector)
 
G4int CreateNtupleDColumn (G4int ntupleId, const G4String &name, std::vector< double > &vector)
 
void FinishNtuple (G4int ntupleId)
 
G4bool SetFirstHistoId (G4int firstId)
 
G4bool SetFirstH1Id (G4int firstId)
 
G4bool SetFirstH2Id (G4int firstId)
 
G4bool SetFirstH3Id (G4int firstId)
 
G4bool SetFirstProfileId (G4int firstId)
 
G4bool SetFirstP1Id (G4int firstId)
 
G4bool SetFirstP2Id (G4int firstId)
 
G4bool SetFirstNtupleId (G4int firstId)
 
G4bool SetFirstNtupleColumnId (G4int firstId)
 
G4bool FillH1 (G4int id, G4double value, G4double weight=1.0)
 
G4bool FillH2 (G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)
 
G4bool FillH3 (G4int id, G4double xvalue, G4double yvalue, G4double zvalue, G4double weight=1.0)
 
G4bool FillP1 (G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)
 
G4bool FillP2 (G4int id, G4double xvalue, G4double yvalue, G4double zvalue, G4double weight=1.0)
 
G4bool FillNtupleIColumn (G4int id, G4int value)
 
G4bool FillNtupleFColumn (G4int id, G4float value)
 
G4bool FillNtupleDColumn (G4int id, G4double value)
 
G4bool FillNtupleSColumn (G4int id, const G4String &value)
 
G4bool AddNtupleRow ()
 
G4bool FillNtupleIColumn (G4int ntupleId, G4int columnId, G4int value)
 
G4bool FillNtupleFColumn (G4int ntupleId, G4int columnId, G4float value)
 
G4bool FillNtupleDColumn (G4int ntupleId, G4int columnId, G4double value)
 
G4bool FillNtupleSColumn (G4int ntupleId, G4int id, const G4String &value)
 
G4bool AddNtupleRow (G4int ntupleId)
 
void SetActivation (G4bool activation)
 
G4bool GetActivation () const
 
G4bool IsActive () const
 
G4bool IsAscii () const
 
G4bool IsPlotting () const
 
G4int GetFirstH1Id () const
 
G4int GetFirstH2Id () const
 
G4int GetFirstH3Id () const
 
G4int GetFirstP1Id () const
 
G4int GetFirstP2Id () const
 
G4int GetFirstNtupleId () const
 
G4int GetFirstNtupleColumnId () const
 
G4int GetNofH1s () const
 
G4int GetNofH2s () const
 
G4int GetNofH3s () const
 
G4int GetNofP1s () const
 
G4int GetNofP2s () const
 
G4int GetNofNtuples () const
 
G4int GetH1Id (const G4String &name, G4bool warn=true) const
 
G4int GetH2Id (const G4String &name, G4bool warn=true) const
 
G4int GetH3Id (const G4String &name, G4bool warn=true) const
 
void SetH1Activation (G4bool activation)
 
void SetH1Activation (G4int id, G4bool activation)
 
void SetH1Ascii (G4int id, G4bool ascii)
 
void SetH1Plotting (G4int id, G4bool plotting)
 
void SetH2Activation (G4bool activation)
 
void SetH2Activation (G4int id, G4bool activation)
 
void SetH2Ascii (G4int id, G4bool ascii)
 
void SetH2Plotting (G4int id, G4bool plotting)
 
void SetH3Activation (G4bool activation)
 
void SetH3Activation (G4int id, G4bool activation)
 
void SetH3Ascii (G4int id, G4bool ascii)
 
void SetH3Plotting (G4int id, G4bool plotting)
 
void SetP1Activation (G4bool activation)
 
void SetP1Activation (G4int id, G4bool activation)
 
void SetP1Ascii (G4int id, G4bool ascii)
 
void SetP1Plotting (G4int id, G4bool plotting)
 
void SetP2Activation (G4bool activation)
 
void SetP2Activation (G4int id, G4bool activation)
 
void SetP2Ascii (G4int id, G4bool ascii)
 
void SetP2Plotting (G4int id, G4bool plotting)
 
void SetNtupleActivation (G4bool activation)
 
void SetNtupleActivation (G4int id, G4bool activation)
 
G4int GetH1Nbins (G4int id) const
 
G4double GetH1Xmin (G4int id) const
 
G4double GetH1Xmax (G4int id) const
 
G4double GetH1Width (G4int id) const
 
G4int GetH2Nxbins (G4int id) const
 
G4double GetH2Xmin (G4int id) const
 
G4double GetH2Xmax (G4int id) const
 
G4double GetH2XWidth (G4int id) const
 
G4int GetH2Nybins (G4int id) const
 
G4double GetH2Ymin (G4int id) const
 
G4double GetH2Ymax (G4int id) const
 
G4double GetH2YWidth (G4int id) const
 
G4int GetH3Nxbins (G4int id) const
 
G4double GetH3Xmin (G4int id) const
 
G4double GetH3Xmax (G4int id) const
 
G4double GetH3XWidth (G4int id) const
 
G4int GetH3Nybins (G4int id) const
 
G4double GetH3Ymin (G4int id) const
 
G4double GetH3Ymax (G4int id) const
 
G4double GetH3YWidth (G4int id) const
 
G4int GetH3Nzbins (G4int id) const
 
G4double GetH3Zmin (G4int id) const
 
G4double GetH3Zmax (G4int id) const
 
G4double GetH3ZWidth (G4int id) const
 
G4int GetP1Nbins (G4int id) const
 
G4double GetP1Xmin (G4int id) const
 
G4double GetP1Xmax (G4int id) const
 
G4double GetP1XWidth (G4int id) const
 
G4double GetP1Ymin (G4int id) const
 
G4double GetP1Ymax (G4int id) const
 
G4int GetP2Nxbins (G4int id) const
 
G4double GetP2Xmin (G4int id) const
 
G4double GetP2Xmax (G4int id) const
 
G4double GetP2XWidth (G4int id) const
 
G4int GetP2Nybins (G4int id) const
 
G4double GetP2Ymin (G4int id) const
 
G4double GetP2Ymax (G4int id) const
 
G4double GetP2YWidth (G4int id) const
 
G4double GetP2Zmin (G4int id) const
 
G4double GetP2Zmax (G4int id) const
 
G4String GetH1Name (G4int id) const
 
G4double GetH1Unit (G4int id) const
 
G4bool GetH1Activation (G4int id) const
 
G4bool GetH1Ascii (G4int id) const
 
G4bool GetH1Plotting (G4int id) const
 
G4String GetH2Name (G4int id) const
 
G4double GetH2XUnit (G4int id) const
 
G4double GetH2YUnit (G4int id) const
 
G4bool GetH2Activation (G4int id) const
 
G4bool GetH2Ascii (G4int id) const
 
G4bool GetH2Plotting (G4int id) const
 
G4String GetH3Name (G4int id) const
 
G4double GetH3XUnit (G4int id) const
 
G4double GetH3YUnit (G4int id) const
 
G4double GetH3ZUnit (G4int id) const
 
G4bool GetH3Activation (G4int id) const
 
G4bool GetH3Ascii (G4int id) const
 
G4bool GetH3Plotting (G4int id) const
 
G4String GetP1Name (G4int id) const
 
G4double GetP1XUnit (G4int id) const
 
G4double GetP1YUnit (G4int id) const
 
G4bool GetP1Activation (G4int id) const
 
G4bool GetP1Ascii (G4int id) const
 
G4bool GetP1Plotting (G4int id) const
 
G4String GetP2Name (G4int id) const
 
G4double GetP2XUnit (G4int id) const
 
G4double GetP2YUnit (G4int id) const
 
G4double GetP2ZUnit (G4int id) const
 
G4bool GetP2Activation (G4int id) const
 
G4bool GetP2Ascii (G4int id) const
 
G4bool GetP2Plotting (G4int id) const
 
G4bool GetNtupleActivation (G4int id) const
 
G4bool SetH1Title (G4int id, const G4String &title)
 
G4bool SetH1XAxisTitle (G4int id, const G4String &title)
 
G4bool SetH1YAxisTitle (G4int id, const G4String &title)
 
G4bool SetH2Title (G4int id, const G4String &title)
 
G4bool SetH2XAxisTitle (G4int id, const G4String &title)
 
G4bool SetH2YAxisTitle (G4int id, const G4String &title)
 
G4bool SetH2ZAxisTitle (G4int id, const G4String &title)
 
G4bool SetH3Title (G4int id, const G4String &title)
 
G4bool SetH3XAxisTitle (G4int id, const G4String &title)
 
G4bool SetH3YAxisTitle (G4int id, const G4String &title)
 
G4bool SetH3ZAxisTitle (G4int id, const G4String &title)
 
G4bool SetP1Title (G4int id, const G4String &title)
 
G4bool SetP1XAxisTitle (G4int id, const G4String &title)
 
G4bool SetP1YAxisTitle (G4int id, const G4String &title)
 
G4bool SetP2Title (G4int id, const G4String &title)
 
G4bool SetP2XAxisTitle (G4int id, const G4String &title)
 
G4bool SetP2YAxisTitle (G4int id, const G4String &title)
 
G4bool SetP2ZAxisTitle (G4int id, const G4String &title)
 
G4String GetH1Title (G4int id) const
 
G4String GetH1XAxisTitle (G4int id) const
 
G4String GetH1YAxisTitle (G4int id) const
 
G4String GetH2Title (G4int id) const
 
G4String GetH2XAxisTitle (G4int id) const
 
G4String GetH2YAxisTitle (G4int id) const
 
G4String GetH2ZAxisTitle (G4int id) const
 
G4String GetH3Title (G4int id) const
 
G4String GetH3XAxisTitle (G4int id) const
 
G4String GetH3YAxisTitle (G4int id) const
 
G4String GetH3ZAxisTitle (G4int id) const
 
G4String GetP1Title (G4int id) const
 
G4String GetP1XAxisTitle (G4int id) const
 
G4String GetP1YAxisTitle (G4int id) const
 
G4String GetP1ZAxisTitle (G4int id) const
 
G4String GetP2Title (G4int id) const
 
G4String GetP2XAxisTitle (G4int id) const
 
G4String GetP2YAxisTitle (G4int id) const
 
G4String GetP2ZAxisTitle (G4int id) const
 
void SetVerboseLevel (G4int verboseLevel)
 
G4int GetVerboseLevel () const
 
G4String GetType () const
 
G4String GetFileType () const
 

Static Public Member Functions

static G4CsvAnalysisManagerInstance ()
 
static G4bool IsInstance ()
 

Protected Member Functions

virtual G4bool OpenFileImpl (const G4String &fileName) final
 
virtual G4bool WriteImpl () final
 
virtual G4bool CloseFileImpl () final
 
virtual G4bool IsOpenFileImpl () const final
 
- Protected Member Functions inherited from G4ToolsAnalysisManager
virtual G4bool PlotImpl () final
 
virtual G4bool MergeImpl (tools::histo::hmpi *hmpi) final
 
G4bool Reset ()
 
- Protected Member Functions inherited from G4VAnalysisManager
void SetH1Manager (G4VH1Manager *h1Manager)
 
void SetH2Manager (G4VH2Manager *h2Manager)
 
void SetH3Manager (G4VH3Manager *h3Manager)
 
void SetP1Manager (G4VP1Manager *p1Manager)
 
void SetP2Manager (G4VP2Manager *p2Manager)
 
void SetNtupleManager (G4VNtupleManager *ntupleManager)
 
void SetFileManager (std::shared_ptr< G4VFileManager > fileManager)
 
G4bool WriteAscii (const G4String &fileName)
 

Private Member Functions

template<typename T >
G4bool WriteT (const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
 
G4bool WriteH1 ()
 
G4bool WriteH2 ()
 
G4bool WriteH3 ()
 
G4bool WriteP1 ()
 
G4bool WriteP2 ()
 
G4bool CloseNtupleFiles ()
 
G4bool Reset ()
 

Private Attributes

G4CsvNtupleManagerfNtupleManager
 
std::shared_ptr< G4CsvFileManagerfFileManager
 

Static Private Attributes

static G4CsvAnalysisManagerfgMasterInstance = nullptr
 
static G4ThreadLocal G4CsvAnalysisManagerfgInstance = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from G4ToolsAnalysisManager
G4H1ToolsManagerfH1Manager
 
G4H2ToolsManagerfH2Manager
 
G4H3ToolsManagerfH3Manager
 
G4P1ToolsManagerfP1Manager
 
G4P2ToolsManagerfP2Manager
 
- Protected Attributes inherited from G4VAnalysisManager
G4AnalysisManagerState fState
 
std::shared_ptr< G4VFileManagerfVFileManager
 

Detailed Description

Definition at line 46 of file G4CsvAnalysisManager.hh.

Constructor & Destructor Documentation

◆ G4CsvAnalysisManager()

G4CsvAnalysisManager::G4CsvAnalysisManager ( G4bool  isMaster = true)
explicit

Definition at line 77 of file G4CsvAnalysisManager.cc.

78  : G4ToolsAnalysisManager("Csv", isMaster),
79  fNtupleManager(nullptr),
80  fFileManager(nullptr)
81 {
82  if ( ( isMaster && fgMasterInstance ) || ( fgInstance ) ) {
83  G4ExceptionDescription description;
84  description << " "
85  << "G4CsvAnalysisManager already exists."
86  << "Cannot create another instance.";
87  G4Exception("G4CsvAnalysisManager::G4CsvAnalysisManager()",
88  "Analysis_F001", FatalException, description);
89  }
90 
91  if ( isMaster ) fgMasterInstance = this;
92  fgInstance = this;
94  fFileManager = std::make_shared<G4CsvFileManager>(fState);
96  // The managers will be deleted by the base class
97 
98  // Set managers to base class which takes then their ownreship
101 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static G4ThreadLocal G4CsvAnalysisManager * fgInstance
std::shared_ptr< G4CsvFileManager > fFileManager
void SetFileManager(std::shared_ptr< G4CsvFileManager > fileManager)
G4CsvNtupleManager * fNtupleManager
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
void SetFileManager(std::shared_ptr< G4VFileManager > fileManager)
static G4CsvAnalysisManager * fgMasterInstance
G4AnalysisManagerState fState
G4ToolsAnalysisManager(const G4String &type, G4bool isMaster=true)
void SetNtupleManager(G4VNtupleManager *ntupleManager)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~G4CsvAnalysisManager()

G4CsvAnalysisManager::~G4CsvAnalysisManager ( )

Definition at line 104 of file G4CsvAnalysisManager.cc.

105 {
106  if ( fState.GetIsMaster() ) fgMasterInstance = nullptr;
107  fgInstance = nullptr;
108 }
static G4ThreadLocal G4CsvAnalysisManager * fgInstance
static G4CsvAnalysisManager * fgMasterInstance
G4AnalysisManagerState fState
Here is the call graph for this function:

Member Function Documentation

◆ BeginConstNtuple()

std::vector<tools::wcsv::ntuple*>::const_iterator G4CsvAnalysisManager::BeginConstNtuple ( ) const

◆ BeginNtuple()

std::vector<tools::wcsv::ntuple*>::iterator G4CsvAnalysisManager::BeginNtuple ( )

◆ CloseFileImpl()

G4bool G4CsvAnalysisManager::CloseFileImpl ( )
finalprotectedvirtual

Implements G4VAnalysisManager.

Definition at line 360 of file G4CsvAnalysisManager.cc.

361 {
362  auto finalResult = true;
363 
364  // Unlock file name only
365  auto result = fFileManager->CloseFile();
366  finalResult = finalResult && result;
367 
368  // Histogram and profile files are created/closed indivudually for each
369  // object in WriteHn{Pn] function
370  // In sequential mode or in MT mode only on workers
371  result = CloseNtupleFiles();
372  finalResult = finalResult && result;
373 
374  // reset data
375  result = Reset();
376  if ( ! result ) {
377  G4ExceptionDescription description;
378  description << " " << "Resetting data failed";
379  G4Exception("G4CsvAnalysisManager::CloseFile()",
380  "Analysis_W021", JustWarning, description);
381  result = false;
382  }
383  finalResult = finalResult && result;
384 
385  return finalResult;
386 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
std::shared_ptr< G4CsvFileManager > fFileManager
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
Here is the call graph for this function:

◆ CloseNtupleFiles()

G4bool G4CsvAnalysisManager::CloseNtupleFiles ( )
private

Definition at line 115 of file G4CsvAnalysisManager.cc.

116 {
117  auto ntupleVector
119 
120  // Close ntuple files
121  for ( auto ntupleDescription : ntupleVector) {
122  fFileManager->CloseNtupleFile(ntupleDescription);
123  }
124 
125  return true;
126 }
const std::vector< NtupleDescriptionType * > & GetNtupleDescriptionVector() const
std::shared_ptr< G4CsvFileManager > fFileManager
G4CsvNtupleManager * fNtupleManager
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EndConstNtuple()

std::vector<tools::wcsv::ntuple*>::const_iterator G4CsvAnalysisManager::EndConstNtuple ( ) const

◆ EndNtuple()

std::vector<tools::wcsv::ntuple*>::iterator G4CsvAnalysisManager::EndNtuple ( )

◆ GetNtuple() [1/2]

tools::wcsv::ntuple* G4CsvAnalysisManager::GetNtuple ( ) const

◆ GetNtuple() [2/2]

tools::wcsv::ntuple* G4CsvAnalysisManager::GetNtuple ( G4int  ntupleId) const

◆ Instance()

G4CsvAnalysisManager * G4CsvAnalysisManager::Instance ( void  )
static

Definition at line 60 of file G4CsvAnalysisManager.cc.

61 {
62  if ( fgInstance == nullptr ) {
63  G4bool isMaster = ! G4Threading::IsWorkerThread();
64  fgInstance = new G4CsvAnalysisManager(isMaster);
65  }
66 
67  return fgInstance;
68 }
static G4ThreadLocal G4CsvAnalysisManager * fgInstance
G4CsvAnalysisManager(G4bool isMaster=true)
bool G4bool
Definition: G4Types.hh:79
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
Here is the call graph for this function:

◆ IsInstance()

G4bool G4CsvAnalysisManager::IsInstance ( )
static

Definition at line 71 of file G4CsvAnalysisManager.cc.

72 {
73  return ( fgInstance != 0 );
74 }
static G4ThreadLocal G4CsvAnalysisManager * fgInstance

◆ IsOpenFileImpl()

virtual G4bool G4CsvAnalysisManager::IsOpenFileImpl ( ) const
finalprotectedvirtual

Implements G4VAnalysisManager.

◆ OpenFileImpl()

G4bool G4CsvAnalysisManager::OpenFileImpl ( const G4String fileName)
finalprotectedvirtual

Implements G4VAnalysisManager.

Definition at line 275 of file G4CsvAnalysisManager.cc.

276 {
277  auto finalResult = true;
278  auto result = fFileManager->SetFileName(fileName);
279  finalResult = finalResult && result;
280 
281  // Only lock file name in file manager
282  result = fFileManager->OpenFile(fileName);
283  finalResult = finalResult && result;
284 
285  // Histogram and profile files are created/closed indivudually for each
286  // object in WriteHn{Pn] function
287 
288  // Create ntuples if they are booked
289  // (The files will be created with creating ntuples)
291 
292  return finalResult;
293 }
std::shared_ptr< G4CsvFileManager > fFileManager
void CreateNtuplesFromBooking()
G4CsvNtupleManager * fNtupleManager
Here is the call graph for this function:

◆ Reset()

G4bool G4CsvAnalysisManager::Reset ( )
private

Definition at line 259 of file G4CsvAnalysisManager.cc.

260 {
261 // Reset histograms and ntuple
262 
263  auto finalResult = true;
264 
265  auto result = G4ToolsAnalysisManager::Reset();
266  finalResult = finalResult && result;
267 
268  result = fNtupleManager->Reset(true);
269  finalResult = finalResult && result;
270 
271  return finalResult;
272 }
G4bool Reset(G4bool deleteNtuple)
G4CsvNtupleManager * fNtupleManager
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetIsCommentedHeader()

void G4CsvAnalysisManager::SetIsCommentedHeader ( G4bool  isCommentedHeader)

◆ SetIsHippoHeader()

void G4CsvAnalysisManager::SetIsHippoHeader ( G4bool  isHippoHeader)

◆ WriteH1()

G4bool G4CsvAnalysisManager::WriteH1 ( )
private

Definition at line 139 of file G4CsvAnalysisManager.cc.

140 {
141  auto h1Vector = fH1Manager->GetH1Vector();
142  auto hnVector = fH1Manager->GetHnVector();
143 
144  if ( ! h1Vector.size() ) return true;
145 
146  auto result = true;
147 
148  if ( ! G4Threading::IsWorkerThread() ) {
149  result = WriteT(h1Vector, hnVector, "h1");
150  }
151  else {
152  // The worker manager just adds its histograms to the master
153  // This operation needs a lock
154  G4AutoLock lH1(&mergeH1Mutex);
156  lH1.unlock();
157  }
158 
159  return result;
160 }
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
G4bool WriteT(const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
const std::vector< tools::histo::h1d * > & GetH1Vector() const
static G4CsvAnalysisManager * fgMasterInstance
void AddH1Vector(const std::vector< tools::histo::h1d *> &h1Vector)
const std::vector< G4HnInformation * > & GetHnVector() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteH2()

G4bool G4CsvAnalysisManager::WriteH2 ( )
private

Definition at line 163 of file G4CsvAnalysisManager.cc.

164 {
165  auto h2Vector = fH2Manager->GetH2Vector();
166  auto hnVector = fH2Manager->GetHnVector();
167 
168  if ( ! h2Vector.size() ) return true;
169 
170  auto result = true;
171 
172  if ( ! G4Threading::IsWorkerThread() ) {
173  result = WriteT(h2Vector, hnVector, "h2");
174  }
175  else {
176  // The worker manager just adds its histograms to the master
177  // This operation needs a lock
178  G4AutoLock lH2(&mergeH2Mutex);
180  lH2.unlock();
181  }
182 
183  return result;
184 }
void AddH2Vector(const std::vector< tools::histo::h2d *> &h2Vector)
const std::vector< G4HnInformation * > & GetHnVector() const
const std::vector< tools::histo::h2d * > & GetH2Vector() const
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
G4bool WriteT(const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
static G4CsvAnalysisManager * fgMasterInstance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteH3()

G4bool G4CsvAnalysisManager::WriteH3 ( )
private

Definition at line 187 of file G4CsvAnalysisManager.cc.

188 {
189  auto h3Vector = fH3Manager->GetH3Vector();
190  auto hnVector = fH3Manager->GetHnVector();
191 
192  if ( ! h3Vector.size() ) return true;
193 
194  auto result = true;
195 
196  if ( ! G4Threading::IsWorkerThread() ) {
197  result = WriteT(h3Vector, hnVector, "h3");
198  }
199  else {
200  // The worker manager just adds its histograms to the master
201  // This operation needs a lock
202  G4AutoLock lH3(&mergeH3Mutex);
204  lH3.unlock();
205  }
206 
207  return result;
208 }
const std::vector< G4HnInformation * > & GetHnVector() const
const std::vector< tools::histo::h3d * > & GetH3Vector() const
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
void AddH3Vector(const std::vector< tools::histo::h3d *> &h3Vector)
G4bool WriteT(const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
static G4CsvAnalysisManager * fgMasterInstance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteImpl()

G4bool G4CsvAnalysisManager::WriteImpl ( )
finalprotectedvirtual

Implements G4VAnalysisManager.

Definition at line 296 of file G4CsvAnalysisManager.cc.

297 {
298  // nothing to be done for Csv file
299  auto finalResult = true;
300 
301 #ifdef G4VERBOSE
302  if ( fState.GetVerboseL4() )
303  fState.GetVerboseL4()->Message("write", "files", "");
304 #endif
305 
306 
307  if ( ! fgMasterInstance &&
308  ( ( ! fH1Manager->IsEmpty() ) || ( ! fH2Manager->IsEmpty() ) ||
309  ( ! fH3Manager->IsEmpty() ) || ( ! fP1Manager->IsEmpty() ) ||
310  ( ! fP2Manager->IsEmpty() ) ) ) {
311 
312  G4ExceptionDescription description;
313  description
314  << " " << "No master G4CsvAnalysisManager instance exists."
315  << G4endl
316  << " " << "Histogram data will not be merged.";
317  G4Exception("G4CsvAnalysisManager::Write()",
318  "Analysis_W031", JustWarning, description);
319  }
320 
321  // H1
322  auto result = WriteH1();
323  finalResult = finalResult && result;
324 
325  // H2
326  result = WriteH2();
327  finalResult = finalResult && result;
328 
329  // H3
330  result = WriteH3();
331  finalResult = finalResult && result;
332 
333  // P1
334  result = WriteP1();
335  finalResult = finalResult && result;
336 
337  // P2
338  result = WriteP2();
339  finalResult = finalResult && result;
340 
341  // Ntuples
342  // Nothing to be done
343 
344  // Write ASCII if activated
345  // Not available
346  //if ( IsAscii() ) {
347  // result = WriteAscii();
348  //}
349 
350 #ifdef G4VERBOSE
351  if ( fState.GetVerboseL1() )
353  ->Message("write", "files", "", finalResult);
354 #endif
355 
356  return result;
357 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
const G4AnalysisVerbose * GetVerboseL1() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
const G4AnalysisVerbose * GetVerboseL4() const
static G4CsvAnalysisManager * fgMasterInstance
G4AnalysisManagerState fState
G4bool IsEmpty() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ WriteP1()

G4bool G4CsvAnalysisManager::WriteP1 ( )
private

Definition at line 211 of file G4CsvAnalysisManager.cc.

212 {
213  auto p1Vector = fP1Manager->GetP1Vector();
214  auto hnVector = fP1Manager->GetHnVector();
215 
216  if ( ! p1Vector.size() ) return true;
217 
218  auto result = true;
219 
220  if ( ! G4Threading::IsWorkerThread() ) {
221  result = WriteT(p1Vector, hnVector, "p1");
222  }
223  else {
224  // The worker manager just adds its profiles to the master
225  // This operation needs a lock
226  G4AutoLock lP1(&mergeP1Mutex);
228  lP1.unlock();
229  }
230 
231  return result;
232 }
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
const std::vector< G4HnInformation * > & GetHnVector() const
const std::vector< tools::histo::p1d * > & GetP1Vector() const
void AddP1Vector(const std::vector< tools::histo::p1d *> &p1Vector)
G4bool WriteT(const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
static G4CsvAnalysisManager * fgMasterInstance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteP2()

G4bool G4CsvAnalysisManager::WriteP2 ( )
private

Definition at line 235 of file G4CsvAnalysisManager.cc.

236 {
237  auto p2Vector = fP2Manager->GetP2Vector();
238  auto hnVector = fP2Manager->GetHnVector();
239 
240  if ( ! p2Vector.size() ) return true;
241 
242  auto result = true;
243 
244  if ( ! G4Threading::IsWorkerThread() ) {
245  result = WriteT(p2Vector, hnVector, "p2");
246  }
247  else {
248  // The worker manager just adds its profiles to the master
249  // This operation needs a lock
250  G4AutoLock lP2(&mergeP2Mutex);
252  lP2.unlock();
253  }
254 
255  return result;
256 }
void AddP2Vector(const std::vector< tools::histo::p2d *> &p2Vector)
const std::vector< G4HnInformation * > & GetHnVector() const
G4bool IsWorkerThread()
Definition: G4Threading.cc:135
G4bool WriteT(const std::vector< T *> &htVector, const std::vector< G4HnInformation *> &hnVector, const G4String &hnType)
static G4CsvAnalysisManager * fgMasterInstance
const std::vector< tools::histo::p2d * > & GetP2Vector() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteT()

template<typename T >
G4bool G4CsvAnalysisManager::WriteT ( const std::vector< T *> &  htVector,
const std::vector< G4HnInformation *> &  hnVector,
const G4String hnType 
)
private
Here is the caller graph for this function:

Member Data Documentation

◆ fFileManager

std::shared_ptr<G4CsvFileManager> G4CsvAnalysisManager::fFileManager
private

Definition at line 99 of file G4CsvAnalysisManager.hh.

◆ fgInstance

G4ThreadLocal G4CsvAnalysisManager * G4CsvAnalysisManager::fgInstance = nullptr
staticprivate

Definition at line 81 of file G4CsvAnalysisManager.hh.

◆ fgMasterInstance

G4CsvAnalysisManager * G4CsvAnalysisManager::fgMasterInstance = nullptr
staticprivate

Definition at line 80 of file G4CsvAnalysisManager.hh.

◆ fNtupleManager

G4CsvNtupleManager* G4CsvAnalysisManager::fNtupleManager
private

Definition at line 98 of file G4CsvAnalysisManager.hh.


The documentation for this class was generated from the following files: