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

#include <G4Hdf5NtupleManager.hh>

Inheritance diagram for G4Hdf5NtupleManager:
G4TNtupleManager< tools::hdf5::ntuple, G4Hdf5File > G4BaseNtupleManager G4VNtupleManager G4BaseAnalysisManager

Public Member Functions

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

Protected Member Functions

virtual G4bool AddNtupleRow () final
 
virtual G4bool AddNtupleRow (G4int ntupleId) override
 
virtual G4bool AddNtupleRow (G4int ntupleId)=0
 
std::vector< tools::hdf5::ntuple * >::const_iterator BeginConstNtuple () const
 
std::vector< tools::hdf5::ntuple * >::iterator BeginNtuple ()
 
virtual void Clear () override
 
virtual G4int CreateNtuple (G4NtupleBooking *ntupleBooking) override
 
virtual void CreateNtuplesFromBooking (const std::vector< G4NtupleBooking * > &ntupleBookings)
 
std::vector< tools::hdf5::ntuple * >::const_iterator EndConstNtuple () const
 
std::vector< tools::hdf5::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::hdf5::ntuple * GetNtuple () const
 
tools::hdf5::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::hdf5::ntuple, G4Hdf5File > * > fNtupleDescriptionVector
 
std::vector< tools::hdf5::ntuple * > fNtupleVector
 
const G4AnalysisManagerStatefState
 

Private Member Functions

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

Private Attributes

std::shared_ptr< G4Hdf5FileManagerfFileManager { nullptr }
 

Static Private Attributes

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

Friends

class G4Hdf5AnalysisManager
 
class G4Hdf5NtupleFileManager
 

Detailed Description

Definition at line 57 of file G4Hdf5NtupleManager.hh.

Constructor & Destructor Documentation

◆ G4Hdf5NtupleManager() [1/2]

G4Hdf5NtupleManager::G4Hdf5NtupleManager ( const G4AnalysisManagerState state)
explicit

◆ G4Hdf5NtupleManager() [2/2]

G4Hdf5NtupleManager::G4Hdf5NtupleManager ( )
delete

◆ ~G4Hdf5NtupleManager()

virtual G4Hdf5NtupleManager::~G4Hdf5NtupleManager ( )
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::hdf5::ntuple , G4Hdf5File >::AddNtupleRow ( G4int  ntupleId)
overrideprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ AddNtupleRow() [3/3]

virtual G4bool G4BaseNtupleManager::AddNtupleRow ( G4int  ntupleId)
protectedvirtualinherited

Implements G4BaseNtupleManager.

◆ BeginConstNtuple()

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

◆ BeginNtuple()

std::vector< tools::hdf5::ntuple * >::iterator G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::BeginNtuple ( )
protectedinherited

◆ Clear()

virtual void G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::Clear ( )
overrideprotectedvirtualinherited

Implements G4VNtupleManager.

◆ CreateNtuple()

virtual G4int G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::CreateNtuple ( G4NtupleBooking ntupleBooking)
overrideprotectedvirtualinherited

Implements G4BaseNtupleManager.

◆ CreateNtuplesFromBooking()

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

◆ CreateTNtuple()

void G4Hdf5NtupleManager::CreateTNtuple ( Hdf5NtupleDescription ntupleDescription,
G4bool  warn 
)
private

Definition at line 48 of file G4Hdf5NtupleManager.cc.

50{
51// Ntuple will be created from ntupleDescription if file is open,
52// return with or without warning otherwise
53
54 // Get ntuple file from ntuple description
55 auto ntupleFile = ntupleDescription->fFile;
56 if (! ntupleFile) {
57 ntupleFile = fFileManager->GetFile();
58 }
59
60 // Check file
61 if ( ! ntupleFile ) {
62 if (warn) {
63 Warn( "Cannot create ntuple. Ntuple file does not exist.",
64 fkClass, "CreateTNtuple");
65 }
66 return;
67 }
68
69 auto directory = std::get<2>(*ntupleFile);
70 auto basketSize = fFileManager->GetBasketSize();
71 // auto compressionLevel = fState.GetCompressionLevel();
72 auto compressionLevel = 0;
73
74 // create ntuple
75 ntupleDescription->fNtuple
76 = new tools::hdf5::ntuple(
77 G4cout, directory, ntupleDescription->fNtupleBooking,
78 compressionLevel, basketSize);
79
80 fNtupleVector.push_back(ntupleDescription->fNtuple);
81}
G4GLOB_DLL std::ostream G4cout
std::shared_ptr< G4Hdf5FileManager > fFileManager
static constexpr std::string_view fkClass
std::vector< tools::hdf5::ntuple * > fNtupleVector
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)
tools::ntuple_booking fNtupleBooking
std::shared_ptr< FT > fFile

References G4TNtupleDescription< NT, FT >::fFile, fFileManager, fkClass, G4TNtupleDescription< NT, FT >::fNtuple, G4TNtupleDescription< NT, FT >::fNtupleBooking, G4TNtupleManager< tools::hdf5::ntuple, G4Hdf5File >::fNtupleVector, G4cout, and G4Analysis::Warn().

Referenced by CreateTNtupleFromBooking(), and FinishTNtuple().

◆ CreateTNtupleFromBooking()

void G4Hdf5NtupleManager::CreateTNtupleFromBooking ( Hdf5NtupleDescription ntupleDescription)
finalprivatevirtual

Definition at line 84 of file G4Hdf5NtupleManager.cc.

86{
87 // Create file if file name per object is set
88 if ( ntupleDescription->fFileName.size() ) {
89 fFileManager->CreateNtupleFile(ntupleDescription);
90 }
91
92 // Create ntuple from booking and print a warning if file is not open
93 CreateTNtuple(ntupleDescription, true);
94}
void CreateTNtuple(Hdf5NtupleDescription *ntupleDescription, G4bool warn)

References CreateTNtuple(), fFileManager, and G4TNtupleDescription< NT, FT >::fFileName.

◆ EndConstNtuple()

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

◆ EndNtuple()

std::vector< tools::hdf5::ntuple * >::iterator G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::FillNtupleTColumn ( G4int  ntupleId,
G4int  columnId,
const T &  value 
)
privateinherited

◆ FinishTNtuple()

void G4Hdf5NtupleManager::FinishTNtuple ( Hdf5NtupleDescription ntupleDescription,
G4bool  fromBooking 
)
finalprivatevirtual

Definition at line 97 of file G4Hdf5NtupleManager.cc.

100{
101 if ( ! ntupleDescription->fNtuple ) {
102 // Create ntuple from booking if file is open, do nothing otherwise
103 CreateTNtuple(ntupleDescription, false);
104 }
105
106 fFileManager->LockDirectoryNames();
107}

References CreateTNtuple(), fFileManager, and G4TNtupleDescription< NT, FT >::fNtuple.

◆ GetActivation()

virtual G4bool G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::GetNofNtuples ( ) const
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ GetNtuple() [1/2]

tools::hdf5::ntuple * G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::GetNtuple ( ) const
protectedinherited

◆ GetNtuple() [2/2]

tools::hdf5::ntuple * G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::GetNtuple ( G4int  ntupleId) const
protectedinherited

◆ GetNtupleDescriptionInFunction()

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

◆ GetNtupleDescriptionVector()

const std::vector< Hdf5NtupleDescription * > & G4Hdf5NtupleManager::GetNtupleDescriptionVector ( ) const
inlineprivate

Definition at line 103 of file G4Hdf5NtupleManager.hh.

104{ return fNtupleDescriptionVector; }
std::vector< G4TNtupleDescription< tools::hdf5::ntuple, G4Hdf5File > * > fNtupleDescriptionVector

References G4TNtupleManager< tools::hdf5::ntuple, G4Hdf5File >::fNtupleDescriptionVector.

◆ GetNtupleInFunction()

tools::hdf5::ntuple * G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::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::hdf5::ntuple , G4Hdf5File >::Reset ( )
protectedvirtualinherited

◆ SetActivation() [1/2]

virtual void G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::SetActivation ( G4bool  activation)
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ SetActivation() [2/2]

virtual void G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::SetActivation ( G4int  ntupleId,
G4bool  activation 
)
finalprotectedvirtualinherited

Implements G4VNtupleManager.

◆ SetFileManager()

void G4Hdf5NtupleManager::SetFileManager ( std::shared_ptr< G4Hdf5FileManager fileManager)
inlineprivate

Definition at line 99 of file G4Hdf5NtupleManager.hh.

100{ 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

◆ G4Hdf5AnalysisManager

friend class G4Hdf5AnalysisManager
friend

Definition at line 60 of file G4Hdf5NtupleManager.hh.

◆ G4Hdf5NtupleFileManager

friend class G4Hdf5NtupleFileManager
friend

Definition at line 61 of file G4Hdf5NtupleManager.hh.

Field Documentation

◆ fFileManager

std::shared_ptr<G4Hdf5FileManager> G4Hdf5NtupleManager::fFileManager { nullptr }
private

◆ 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 G4Hdf5NtupleManager::fkClass { "G4Hdf5NtupleManager" }
staticconstexprprivate

Definition at line 88 of file G4Hdf5NtupleManager.hh.

Referenced by CreateTNtuple().

◆ fLockFirstId

G4bool G4BaseAnalysisManager::fLockFirstId { false }
protectedinherited

◆ fNtupleDescriptionVector

std::vector<G4TNtupleDescription<tools::hdf5::ntuple , G4Hdf5File >*> G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::fNtupleDescriptionVector
protectedinherited

Definition at line 96 of file G4TNtupleManager.hh.

◆ fNtupleVector

std::vector<tools::hdf5::ntuple *> G4TNtupleManager< tools::hdf5::ntuple , G4Hdf5File >::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: