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

#include <G4XmlNtupleFileManager.hh>

Inheritance diagram for G4XmlNtupleFileManager:
G4VNtupleFileManager

Public Member Functions

virtual G4bool ActionAtCloseFile (G4bool reset) override
 
virtual G4bool ActionAtOpenFile (const G4String &fileName) override
 
virtual G4bool ActionAtWrite () override
 
virtual std::shared_ptr< G4VNtupleManagerCreateNtupleManager () override
 
 G4XmlNtupleFileManager ()=delete
 
 G4XmlNtupleFileManager (const G4AnalysisManagerState &state)
 
G4String GetFileType () const
 
std::shared_ptr< G4XmlNtupleManagerGetNtupleManager () const
 
virtual G4bool IsNtupleMergingSupported () const
 
virtual G4bool Reset () override
 
virtual void SetBasketEntries (unsigned int basketEntries)
 
virtual void SetBasketSize (unsigned int basketSize)
 
virtual void SetBookingManager (std::shared_ptr< G4NtupleBookingManager > bookingManager)
 
void SetFileManager (std::shared_ptr< G4XmlFileManager > fileManager)
 
virtual void SetNtupleMerging (G4bool mergeNtuples, G4int nofReducedNtupleFiles=0)
 
virtual void SetNtupleRowWise (G4bool rowWise, G4bool rowMode=true)
 
virtual ~G4XmlNtupleFileManager ()=default
 

Protected Member Functions

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

Protected Attributes

std::shared_ptr< G4NtupleBookingManagerfBookingManager { nullptr }
 
G4String fFileType
 
const G4AnalysisManagerStatefState
 

Private Member Functions

G4bool CloseNtupleFiles ()
 

Private Attributes

std::shared_ptr< G4XmlFileManagerfFileManager { nullptr }
 
std::shared_ptr< G4XmlNtupleManagerfNtupleManager { nullptr }
 

Static Private Attributes

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

Detailed Description

Definition at line 44 of file G4XmlNtupleFileManager.hh.

Constructor & Destructor Documentation

◆ G4XmlNtupleFileManager() [1/2]

G4XmlNtupleFileManager::G4XmlNtupleFileManager ( const G4AnalysisManagerState state)
explicit

Definition at line 40 of file G4XmlNtupleFileManager.cc.

41 : G4VNtupleFileManager(state, "csv")
42{}
G4VNtupleFileManager()=delete

◆ G4XmlNtupleFileManager() [2/2]

G4XmlNtupleFileManager::G4XmlNtupleFileManager ( )
delete

◆ ~G4XmlNtupleFileManager()

virtual G4XmlNtupleFileManager::~G4XmlNtupleFileManager ( )
virtualdefault

Member Function Documentation

◆ ActionAtCloseFile()

G4bool G4XmlNtupleFileManager::ActionAtCloseFile ( G4bool  reset)
overridevirtual

Implements G4VNtupleFileManager.

Definition at line 99 of file G4XmlNtupleFileManager.cc.

100{
101 auto result = true;
102
103 // Close ntuple files
104 result &= CloseNtupleFiles();
105
106 // Reset data
107 if ( ! reset ) {
108 result = Reset();
109 if ( ! result ) {
110 Warn("Resetting data failed", fkClass, "ActionAtCloseFile");
111 }
112 }
113
114 return result;
115}
static constexpr std::string_view fkClass
virtual G4bool Reset() override
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)

References CloseNtupleFiles(), fkClass, Reset(), and G4Analysis::Warn().

◆ ActionAtOpenFile()

G4bool G4XmlNtupleFileManager::ActionAtOpenFile ( const G4String fileName)
overridevirtual

Implements G4VNtupleFileManager.

Definition at line 76 of file G4XmlNtupleFileManager.cc.

77{
78 // Create ntuples if they are booked
79 // (The files will be created with creating ntuples)
80 fNtupleManager->CreateNtuplesFromBooking(
81 fBookingManager->GetNtupleBookingVector());
82
83 return true;
84}
std::shared_ptr< G4NtupleBookingManager > fBookingManager
std::shared_ptr< G4XmlNtupleManager > fNtupleManager

References G4VNtupleFileManager::fBookingManager, and fNtupleManager.

◆ ActionAtWrite()

G4bool G4XmlNtupleFileManager::ActionAtWrite ( )
overridevirtual

Implements G4VNtupleFileManager.

Definition at line 87 of file G4XmlNtupleFileManager.cc.

88{
89 auto ntupleVector = fNtupleManager->GetNtupleDescriptionVector();
90
91 for ( auto ntuple : ntupleVector ) {
92 if ( ntuple->fNtuple ) ntuple->fNtuple->write_trailer();
93 }
94
95 return true;
96}

References fNtupleManager.

◆ CloseNtupleFiles()

G4bool G4XmlNtupleFileManager::CloseNtupleFiles ( )
private

Definition at line 49 of file G4XmlNtupleFileManager.cc.

50{
51 // Close ntuple files
52
53 auto result = true;
54 auto ntupleVector = fNtupleManager->GetNtupleDescriptionVector();
55 for ( auto ntupleDescription : ntupleVector) {
56 result &= fFileManager->CloseNtupleFile(ntupleDescription);
57 }
58
59 return result;
60}
std::shared_ptr< G4XmlFileManager > fFileManager

References fFileManager, and fNtupleManager.

Referenced by ActionAtCloseFile().

◆ CreateNtupleManager()

std::shared_ptr< G4VNtupleManager > G4XmlNtupleFileManager::CreateNtupleManager ( )
overridevirtual

Implements G4VNtupleFileManager.

Definition at line 67 of file G4XmlNtupleFileManager.cc.

68{
69 fNtupleManager = std::make_shared<G4XmlNtupleManager>(fState);
70 fNtupleManager->SetFileManager(fFileManager);
71
72 return fNtupleManager;
73}
const G4AnalysisManagerState & fState

References fFileManager, fNtupleManager, and G4VNtupleFileManager::fState.

◆ GetFileType()

G4String G4VNtupleFileManager::GetFileType ( ) const
inlineinherited

Definition at line 107 of file G4VNtupleFileManager.hh.

107 {
108 return fFileType;
109}

References G4VNtupleFileManager::fFileType.

◆ GetNtupleManager()

std::shared_ptr< G4XmlNtupleManager > G4XmlNtupleFileManager::GetNtupleManager ( ) const
inline

Definition at line 81 of file G4XmlNtupleFileManager.hh.

82{ return fNtupleManager; }

References fNtupleManager.

◆ IsNtupleMergingSupported()

G4bool G4VNtupleFileManager::IsNtupleMergingSupported ( ) const
inlinevirtualinherited

Reimplemented in G4RootNtupleFileManager.

Definition at line 103 of file G4VNtupleFileManager.hh.

103 {
104 return false;
105}

◆ Message()

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

◆ Reset()

G4bool G4XmlNtupleFileManager::Reset ( )
overridevirtual

Implements G4VNtupleFileManager.

Definition at line 118 of file G4XmlNtupleFileManager.cc.

119{
120// Reset histograms and ntuple
121
122 return fNtupleManager->Reset();
123}

References fNtupleManager.

Referenced by ActionAtCloseFile().

◆ SetBasketEntries()

void G4VNtupleFileManager::SetBasketEntries ( unsigned int  basketEntries)
virtualinherited

Reimplemented in G4RootNtupleFileManager.

Definition at line 85 of file G4VNtupleFileManager.cc.

86{
87// The function is overridden in the managers which supports ntuple merging
88// Here we give just a warning that the feature is not available.
89
90 NtupleMergingWarning(fkClass, "SetBasketEntries", fFileType);
91}
static constexpr std::string_view fkClass
void NtupleMergingWarning(std::string_view className, std::string_view functionName, const G4String &outputType)

References G4VNtupleFileManager::fFileType, G4VNtupleFileManager::fkClass, and anonymous_namespace{G4VNtupleFileManager.cc}::NtupleMergingWarning().

◆ SetBasketSize()

void G4VNtupleFileManager::SetBasketSize ( unsigned int  basketSize)
virtualinherited

Reimplemented in G4RootNtupleFileManager.

Definition at line 76 of file G4VNtupleFileManager.cc.

77{
78// The function is overridden in the managers which supports ntuple merging
79// Here we give just a warning that the feature is not available.
80
81 NtupleMergingWarning(fkClass, "SetBasketSize", fFileType);
82}

References G4VNtupleFileManager::fFileType, G4VNtupleFileManager::fkClass, and anonymous_namespace{G4VNtupleFileManager.cc}::NtupleMergingWarning().

◆ SetBookingManager()

void G4VNtupleFileManager::SetBookingManager ( std::shared_ptr< G4NtupleBookingManager bookingManager)
inlinevirtualinherited

Definition at line 99 of file G4VNtupleFileManager.hh.

101{ fBookingManager = bookingManager; }

References G4VNtupleFileManager::fBookingManager.

◆ SetFileManager()

void G4XmlNtupleFileManager::SetFileManager ( std::shared_ptr< G4XmlFileManager fileManager)
inline

Definition at line 77 of file G4XmlNtupleFileManager.hh.

79{ fFileManager = fileManager; }

References fFileManager.

◆ SetNtupleMerging()

void G4VNtupleFileManager::SetNtupleMerging ( G4bool  mergeNtuples,
G4int  nofReducedNtupleFiles = 0 
)
virtualinherited

Reimplemented in G4RootNtupleFileManager.

Definition at line 56 of file G4VNtupleFileManager.cc.

58{
59// The function is overridden in the managers which supports ntuple merging
60// Here we give just a warning that the feature is not available.
61
62 NtupleMergingWarning(fkClass, "SetNtupleMerging", fFileType);
63}

References G4VNtupleFileManager::fFileType, G4VNtupleFileManager::fkClass, and anonymous_namespace{G4VNtupleFileManager.cc}::NtupleMergingWarning().

◆ SetNtupleRowWise()

void G4VNtupleFileManager::SetNtupleRowWise ( G4bool  rowWise,
G4bool  rowMode = true 
)
virtualinherited

Reimplemented in G4RootNtupleFileManager.

Definition at line 66 of file G4VNtupleFileManager.cc.

68{
69// The function is overridden in the managers which supports ntuple merging
70// Here we give just a warning that the feature is not available.
71
72 NtupleMergingWarning(fkClass, "SetNtupleRowWise", fFileType);
73}

References G4VNtupleFileManager::fFileType, G4VNtupleFileManager::fkClass, and anonymous_namespace{G4VNtupleFileManager.cc}::NtupleMergingWarning().

Field Documentation

◆ fBookingManager

std::shared_ptr<G4NtupleBookingManager> G4VNtupleFileManager::fBookingManager { nullptr }
protectedinherited

◆ fFileManager

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

Definition at line 71 of file G4XmlNtupleFileManager.hh.

Referenced by CloseNtupleFiles(), CreateNtupleManager(), and SetFileManager().

◆ fFileType

G4String G4VNtupleFileManager::fFileType
protectedinherited

◆ fkClass

constexpr std::string_view G4XmlNtupleFileManager::fkClass { "G4XmlNtupleFileManager" }
staticconstexprprivate

Definition at line 68 of file G4XmlNtupleFileManager.hh.

Referenced by ActionAtCloseFile().

◆ fNtupleManager

std::shared_ptr<G4XmlNtupleManager> G4XmlNtupleFileManager::fNtupleManager { nullptr }
private

◆ fState

const G4AnalysisManagerState& G4VNtupleFileManager::fState
protectedinherited

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