Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends
G4XmlNtupleManager Class Reference

#include <G4XmlNtupleManager.hh>

Inheritance diagram for G4XmlNtupleManager:
G4TNtupleManager< tools::waxml::ntuple, std::ofstream > G4BaseNtupleManager G4VNtupleManager G4BaseAnalysisManager

Public Member Functions

 G4XmlNtupleManager ()=delete
 
 G4XmlNtupleManager (const G4AnalysisManagerState &state)
 
G4int GetFirstId () const
 
G4bool SetFirstId (G4int firstId)
 
void SetLockFirstId (G4bool lockFirstId)
 
virtual ~G4XmlNtupleManager ()=default
 

Protected Member Functions

virtual G4bool AddNtupleRow () final
 
virtual G4bool AddNtupleRow (G4int ntupleId) override
 
virtual G4bool AddNtupleRow (G4int ntupleId)=0
 
std::vector< tools::waxml::ntuple * >::const_iterator BeginConstNtuple () const
 
std::vector< tools::waxml::ntuple * >::iterator BeginNtuple ()
 
virtual void Clear () override
 
virtual G4int CreateNtuple (G4NtupleBooking *ntupleBooking) override
 
virtual void CreateNtuplesFromBooking (const std::vector< G4NtupleBooking * > &ntupleBookings)
 
std::vector< tools::waxml::ntuple * >::const_iterator EndConstNtuple () const
 
std::vector< tools::waxml::ntuple * >::iterator EndNtuple ()
 
virtual G4bool FillNtupleDColumn (G4int id, G4double value) final
 
virtual G4bool FillNtupleDColumn (G4int ntupleId, G4int columnId, G4double value) final
 
virtual G4bool FillNtupleDColumn (G4int ntupleId, G4int columnId, G4double value)=0
 
virtual G4bool FillNtupleFColumn (G4int id, G4float value) final
 
virtual G4bool FillNtupleFColumn (G4int ntupleId, G4int columnId, G4float value) final
 
virtual G4bool FillNtupleFColumn (G4int ntupleId, G4int columnId, G4float value)=0
 
virtual G4bool FillNtupleIColumn (G4int id, G4int value) final
 
virtual G4bool FillNtupleIColumn (G4int ntupleId, G4int columnId, G4int value) final
 
virtual G4bool FillNtupleIColumn (G4int ntupleId, G4int columnId, G4int value)=0
 
virtual G4bool FillNtupleSColumn (G4int id, const G4String &value) final
 
virtual G4bool FillNtupleSColumn (G4int ntupleId, G4int columnId, const G4String &value) final
 
virtual G4bool FillNtupleSColumn (G4int ntupleId, G4int columnId, const G4String &value)=0
 
virtual G4bool GetActivation (G4int ntupleId) const final
 
virtual G4int GetNofNtuples () const final
 
tools::waxml::ntuple * GetNtuple () const
 
tools::waxml::ntuple * GetNtuple (G4int ntupleId) const
 
G4bool IsVerbose (G4int verboseLevel) const
 
void Message (G4int level, const G4String &action, const G4String &objectType, const G4String &objectName="", G4bool success=true) const
 
virtual G4bool Reset ()
 
virtual void SetActivation (G4bool activation) final
 
virtual void SetActivation (G4int ntupleId, G4bool activation) final
 
virtual G4bool SetFirstNtupleColumnId (G4int firstId) final
 

Protected Attributes

G4int fFirstId { 0 }
 
G4int fFirstNtupleColumnId { 0 }
 
G4bool fLockFirstId { false }
 
std::vector< G4TNtupleDescription< tools::waxml::ntuple, std::ofstream > * > fNtupleDescriptionVector
 
std::vector< tools::waxml::ntuple * > fNtupleVector
 
const G4AnalysisManagerStatefState
 

Private Member Functions

virtual void CreateTNtupleFromBooking (XmlNtupleDescription *ntupleDescription) final
 
G4bool FillNtupleTColumn (G4int ntupleId, G4int columnId, const T &value)
 
virtual void FinishTNtuple (XmlNtupleDescription *ntupleDescription, G4bool fromBooking) final
 
G4TNtupleDescription< tools::waxml::ntuple, std::ofstream > * GetNtupleDescriptionInFunction (G4int id, std::string_view function, G4bool warn=true) const
 
const std::vector< XmlNtupleDescription * > & GetNtupleDescriptionVector () const
 
tools::waxml::ntuple * GetNtupleInFunction (G4int id, std::string_view function, G4bool warn=true) const
 
void SetFileManager (std::shared_ptr< G4XmlFileManager > fileManager)
 

Private Attributes

std::shared_ptr< G4XmlFileManagerfFileManager { nullptr }
 

Static Private Attributes

static constexpr std::string_view fkClass { "G4XmNtupleManager" }
 

Friends

class G4XmlAnalysisManager
 
class G4XmlNtupleFileManager
 

Detailed Description

Definition at line 48 of file G4XmlNtupleManager.hh.

Constructor & Destructor Documentation

◆ G4XmlNtupleManager() [1/2]

G4XmlNtupleManager::G4XmlNtupleManager ( const G4AnalysisManagerState state)
explicit

◆ G4XmlNtupleManager() [2/2]

G4XmlNtupleManager::G4XmlNtupleManager ( )
delete

◆ ~G4XmlNtupleManager()

virtual G4XmlNtupleManager::~G4XmlNtupleManager ( )
virtualdefault

Member Function Documentation

◆ AddNtupleRow() [1/3]

G4bool G4BaseNtupleManager::AddNtupleRow ( )
finalprotectedvirtualinherited

Reimplemented from G4BaseNtupleManager.

Definition at line 69 of file G4BaseNtupleManager.cc.

◆ AddNtupleRow() [2/3]

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::AddNtupleRow ( G4int  ntupleId)
overrideprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ AddNtupleRow() [3/3]

virtual G4bool G4BaseNtupleManager::AddNtupleRow ( G4int  ntupleId)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ BeginConstNtuple()

std::vector< tools::waxml::ntuple * >::const_iterator G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::BeginConstNtuple ( ) const
protectedinherited

◆ BeginNtuple()

std::vector< tools::waxml::ntuple * >::iterator G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::BeginNtuple ( )
protectedinherited

◆ Clear()

virtual void G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::Clear ( )
overrideprotectedvirtualinherited

Implements G4VNtupleManager.

◆ CreateNtuple()

virtual G4int G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::CreateNtuple ( G4NtupleBooking ntupleBooking)
overrideprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ CreateNtuplesFromBooking()

virtual void G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::CreateNtuplesFromBooking ( const std::vector< G4NtupleBooking * > &  ntupleBookings)
protectedvirtualinherited

◆ CreateTNtupleFromBooking()

void G4XmlNtupleManager::CreateTNtupleFromBooking ( XmlNtupleDescription ntupleDescription)
finalprivatevirtual

Definition at line 49 of file G4XmlNtupleManager.cc.

51{
52 // create a file for this ntuple
53 if ( ! fFileManager->CreateNtupleFile(ntupleDescription) ) return;
54
55 // create ntuple
56 ntupleDescription->fNtuple
57 = new tools::waxml::ntuple(
58 *(ntupleDescription->fFile), G4cerr, ntupleDescription->fNtupleBooking);
59 fNtupleVector.push_back(ntupleDescription->fNtuple);
60}
G4GLOB_DLL std::ostream G4cerr
std::vector< tools::waxml::ntuple * > fNtupleVector
std::shared_ptr< G4XmlFileManager > fFileManager
tools::ntuple_booking fNtupleBooking
std::shared_ptr< FT > fFile

References G4TNtupleDescription< NT, FT >::fFile, fFileManager, G4TNtupleDescription< NT, FT >::fNtuple, G4TNtupleDescription< NT, FT >::fNtupleBooking, G4TNtupleManager< tools::waxml::ntuple, std::ofstream >::fNtupleVector, and G4cerr.

Referenced by FinishTNtuple().

◆ EndConstNtuple()

std::vector< tools::waxml::ntuple * >::const_iterator G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::EndConstNtuple ( ) const
protectedinherited

◆ EndNtuple()

std::vector< tools::waxml::ntuple * >::iterator G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::EndNtuple ( )
protectedinherited

◆ FillNtupleDColumn() [1/3]

G4bool G4BaseNtupleManager::FillNtupleDColumn ( G4int  id,
G4double  value 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseNtupleManager.

Definition at line 67 of file G4BaseNtupleManager.cc.

50{
51 return FillNtupleDColumn(fFirstId, id, value);
52}
virtual G4bool FillNtupleDColumn(G4int ntupleId, G4int columnId, G4double value) final

◆ FillNtupleDColumn() [2/3]

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::FillNtupleDColumn ( G4int  ntupleId,
G4int  columnId,
G4double  value 
)
finalprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleDColumn() [3/3]

virtual G4bool G4BaseNtupleManager::FillNtupleDColumn ( G4int  ntupleId,
G4int  columnId,
G4double  value 
)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleFColumn() [1/3]

G4bool G4BaseNtupleManager::FillNtupleFColumn ( G4int  id,
G4float  value 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseNtupleManager.

Definition at line 66 of file G4BaseNtupleManager.cc.

44{
45 return FillNtupleFColumn(fFirstId, id, value);
46}
virtual G4bool FillNtupleFColumn(G4int ntupleId, G4int columnId, G4float value) final

◆ FillNtupleFColumn() [2/3]

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::FillNtupleFColumn ( G4int  ntupleId,
G4int  columnId,
G4float  value 
)
finalprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleFColumn() [3/3]

virtual G4bool G4BaseNtupleManager::FillNtupleFColumn ( G4int  ntupleId,
G4int  columnId,
G4float  value 
)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleIColumn() [1/3]

G4bool G4BaseNtupleManager::FillNtupleIColumn ( G4int  id,
G4int  value 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseNtupleManager.

Definition at line 65 of file G4BaseNtupleManager.cc.

38{
39 return FillNtupleIColumn(fFirstId, id, value);
40}
virtual G4bool FillNtupleIColumn(G4int ntupleId, G4int columnId, G4int value) final

◆ FillNtupleIColumn() [2/3]

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::FillNtupleIColumn ( G4int  ntupleId,
G4int  columnId,
G4int  value 
)
finalprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleIColumn() [3/3]

virtual G4bool G4BaseNtupleManager::FillNtupleIColumn ( G4int  ntupleId,
G4int  columnId,
G4int  value 
)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleSColumn() [1/3]

G4bool G4BaseNtupleManager::FillNtupleSColumn ( G4int  id,
const G4String value 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseNtupleManager.

Definition at line 68 of file G4BaseNtupleManager.cc.

56{
57 return FillNtupleSColumn(fFirstId, id, value);
58}
virtual G4bool FillNtupleSColumn(G4int ntupleId, G4int columnId, const G4String &value) final

◆ FillNtupleSColumn() [2/3]

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::FillNtupleSColumn ( G4int  ntupleId,
G4int  columnId,
const G4String value 
)
finalprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleSColumn() [3/3]

virtual G4bool G4BaseNtupleManager::FillNtupleSColumn ( G4int  ntupleId,
G4int  columnId,
const G4String value 
)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ FillNtupleTColumn()

G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::FillNtupleTColumn ( G4int  ntupleId,
G4int  columnId,
const T &  value 
)
privateinherited

◆ FinishTNtuple()

void G4XmlNtupleManager::FinishTNtuple ( XmlNtupleDescription ntupleDescription,
G4bool  fromBooking 
)
finalprivatevirtual

Definition at line 63 of file G4XmlNtupleManager.cc.

67{
68 // Do nothing if the base file name was not yet defined
69 if ( ! fFileManager->GetFileName().size() ) return;
70
71 // Create ntuple from booking
72 if ( ! ntupleDescription->fNtuple ) {
73 CreateTNtupleFromBooking(ntupleDescription);
74 }
75
76 // Return if creating ntuple failed
77 if ( ! ntupleDescription->fNtuple ) {
78 Warn("Creating ntuple has failed. ", fkClass, "FinishTNtuple");
79 return;
80 }
81
82 // Write header
83 G4String path = "/";
84 path.append(fFileManager->GetNtupleDirectoryName());
85 ntupleDescription->fNtuple
86 ->write_header(path, ntupleDescription->fNtupleBooking.name(),
87 ntupleDescription->fNtupleBooking.title());
88 fFileManager->LockDirectoryNames();
89}
static constexpr std::string_view fkClass
virtual void CreateTNtupleFromBooking(XmlNtupleDescription *ntupleDescription) final
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)

References CreateTNtupleFromBooking(), fFileManager, fkClass, G4TNtupleDescription< NT, FT >::fNtuple, G4TNtupleDescription< NT, FT >::fNtupleBooking, and G4Analysis::Warn().

◆ GetActivation()

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetActivation ( G4int  ntupleId) const
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ GetFirstId()

G4int G4BaseAnalysisManager::GetFirstId ( ) const
inlineinherited

Definition at line 94 of file G4BaseAnalysisManager.hh.

94 {
95 return fFirstId;
96}

References G4BaseAnalysisManager::fFirstId.

◆ GetNofNtuples()

virtual G4int G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetNofNtuples ( ) const
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ GetNtuple() [1/2]

tools::waxml::ntuple * G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetNtuple ( ) const
protectedinherited

◆ GetNtuple() [2/2]

tools::waxml::ntuple * G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetNtuple ( G4int  ntupleId) const
protectedinherited

◆ GetNtupleDescriptionInFunction()

G4TNtupleDescription< tools::waxml::ntuple , std::ofstream > * G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetNtupleDescriptionInFunction ( G4int  id,
std::string_view  function,
G4bool  warn = true 
) const
privateinherited

◆ GetNtupleDescriptionVector()

const std::vector< G4TNtupleDescription< tools::waxml::ntuple, std::ofstream > * > & G4XmlNtupleManager::GetNtupleDescriptionVector ( ) const
inlineprivate

Definition at line 92 of file G4XmlNtupleManager.hh.

std::vector< G4TNtupleDescription< tools::waxml::ntuple, std::ofstream > * > fNtupleDescriptionVector

References G4TNtupleManager< tools::waxml::ntuple, std::ofstream >::fNtupleDescriptionVector.

◆ GetNtupleInFunction()

tools::waxml::ntuple * G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::GetNtupleInFunction ( G4int  id,
std::string_view  function,
G4bool  warn = true 
) const
privateinherited

◆ IsVerbose()

G4bool G4BaseAnalysisManager::IsVerbose ( G4int  verboseLevel) const
inlineprotectedinherited

Definition at line 80 of file G4BaseAnalysisManager.hh.

81{ return fState.IsVerbose(verboseLevel); }
G4bool IsVerbose(G4int verboseLevel) const
const G4AnalysisManagerState & fState

References G4BaseAnalysisManager::fState, and G4AnalysisManagerState::IsVerbose().

Referenced by G4RootPNtupleManager::AddNtupleRow(), and G4RootPNtupleManager::Merge().

◆ Message()

void G4BaseAnalysisManager::Message ( G4int  level,
const G4String action,
const G4String objectType,
const G4String objectName = "",
G4bool  success = true 
) const
inlineprotectedinherited

◆ Reset()

virtual G4bool G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::Reset ( )
protectedvirtualinherited

◆ SetActivation() [1/2]

virtual void G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::SetActivation ( G4bool  activation)
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ SetActivation() [2/2]

virtual void G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::SetActivation ( G4int  ntupleId,
G4bool  activation 
)
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ SetFileManager()

void G4XmlNtupleManager::SetFileManager ( std::shared_ptr< G4XmlFileManager fileManager)
inlineprivate

Definition at line 88 of file G4XmlNtupleManager.hh.

89{ fFileManager = fileManager; }

References fFileManager.

◆ SetFirstId()

G4bool G4BaseAnalysisManager::SetFirstId ( G4int  firstId)
inherited

Definition at line 46 of file G4BaseAnalysisManager.cc.

47{
48 if ( fLockFirstId ) {
49 Warn("Cannot set FirstId as its value was already used.",
50 fkClass, "SetFirstId");
51
52 return false;
53 }
54
55 fFirstId = firstId;
56 return true;
57}
static constexpr std::string_view fkClass

References G4BaseAnalysisManager::fFirstId, G4BaseAnalysisManager::fkClass, G4BaseAnalysisManager::fLockFirstId, and G4Analysis::Warn().

◆ SetFirstNtupleColumnId()

G4bool G4BaseNtupleManager::SetFirstNtupleColumnId ( G4int  firstId)
finalprotectedvirtualinherited

Implements G4VNtupleManager.

Definition at line 67 of file G4BaseNtupleManager.cc.

68{
69 fFirstNtupleColumnId = firstId;
70 return true;
71}

◆ SetLockFirstId()

void G4BaseAnalysisManager::SetLockFirstId ( G4bool  lockFirstId)
inlineinherited

Definition at line 90 of file G4BaseAnalysisManager.hh.

90 {
91 fLockFirstId = lockFirstId;
92}

References G4BaseAnalysisManager::fLockFirstId.

Referenced by G4HnManager::ClearData().

Friends And Related Function Documentation

◆ G4XmlAnalysisManager

friend class G4XmlAnalysisManager
friend

Definition at line 51 of file G4XmlNtupleManager.hh.

◆ G4XmlNtupleFileManager

friend class G4XmlNtupleFileManager
friend

Definition at line 52 of file G4XmlNtupleManager.hh.

Field Documentation

◆ fFileManager

std::shared_ptr<G4XmlFileManager> G4XmlNtupleManager::fFileManager { nullptr }
private

Definition at line 82 of file G4XmlNtupleManager.hh.

Referenced by CreateTNtupleFromBooking(), FinishTNtuple(), and SetFileManager().

◆ fFirstId

G4int G4BaseAnalysisManager::fFirstId { 0 }
protectedinherited

◆ fFirstNtupleColumnId

G4int G4BaseNtupleManager::fFirstNtupleColumnId { 0 }
protectedinherited

Definition at line 73 of file G4BaseNtupleManager.hh.

◆ fkClass

constexpr std::string_view G4XmlNtupleManager::fkClass { "G4XmNtupleManager" }
staticconstexprprivate

Definition at line 79 of file G4XmlNtupleManager.hh.

Referenced by FinishTNtuple().

◆ fLockFirstId

G4bool G4BaseAnalysisManager::fLockFirstId { false }
protectedinherited

◆ fNtupleDescriptionVector

std::vector<G4TNtupleDescription<tools::waxml::ntuple , std::ofstream >*> G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::fNtupleDescriptionVector
protectedinherited

Definition at line 96 of file G4TNtupleManager.hh.

◆ fNtupleVector

std::vector<tools::waxml::ntuple *> G4TNtupleManager< tools::waxml::ntuple , std::ofstream >::fNtupleVector
protectedinherited

Definition at line 97 of file G4TNtupleManager.hh.

◆ fState

const G4AnalysisManagerState& G4BaseAnalysisManager::fState
protectedinherited

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