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

#include <G4XmlRNtupleManager.hh>

Inheritance diagram for G4XmlRNtupleManager:
G4TRNtupleManager< tools::aida::ntuple > G4BaseRNtupleManager G4VRNtupleManager G4BaseAnalysisManager

Public Member Functions

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

Protected Member Functions

virtual G4int GetNofNtuples () const final
 
tools::aida::ntuple * GetNtuple () const
 
tools::aida::ntuple * GetNtuple (G4int ntupleId) const
 
G4TRNtupleDescription< tools::aida::ntuple > * GetNtupleDescriptionInFunction (G4int id, std::string_view function, G4bool warn=true) const
 
virtual G4bool GetNtupleRow () final
 
virtual G4bool GetNtupleRow (G4int ntupleId) final
 
virtual G4bool GetNtupleRow (G4int ntupleId)=0
 
G4bool IsEmpty () const
 
G4bool IsVerbose (G4int verboseLevel) const
 
void Message (G4int level, const G4String &action, const G4String &objectType, const G4String &objectName="", G4bool success=true) const
 
G4bool Reset ()
 
void SetFileManager (std::shared_ptr< G4XmlRFileManager > fileManager)
 
G4int SetNtuple (G4TRNtupleDescription< tools::aida::ntuple > *rntupleDescription)
 
virtual G4bool SetNtupleDColumn (const G4String &columnName, G4double &value) final
 
virtual G4bool SetNtupleDColumn (const G4String &columnName, std::vector< G4double > &vector) final
 
virtual G4bool SetNtupleDColumn (G4int ntupleId, const G4String &columnName, G4double &value)=0
 
virtual G4bool SetNtupleDColumn (G4int ntupleId, const G4String &columnName, std::vector< G4double > &vector) final
 
virtual G4bool SetNtupleDColumn (G4int ntupleId, const G4String &columnName, std::vector< G4double > &vector)=0
 
virtual G4bool SetNtupleFColumn (const G4String &columnName, G4float &value) final
 
virtual G4bool SetNtupleFColumn (const G4String &columnName, std::vector< G4float > &vector) final
 
virtual G4bool SetNtupleFColumn (G4int ntupleId, const G4String &columnName, G4float &value)=0
 
virtual G4bool SetNtupleFColumn (G4int ntupleId, const G4String &columnName, std::vector< G4float > &vector) final
 
virtual G4bool SetNtupleFColumn (G4int ntupleId, const G4String &columnName, std::vector< G4float > &vector)=0
 
virtual G4bool SetNtupleIColumn (const G4String &columnName, G4int &value) final
 
virtual G4bool SetNtupleIColumn (const G4String &columnName, std::vector< G4int > &vector) final
 
virtual G4bool SetNtupleIColumn (G4int ntupleId, const G4String &columnName, G4int &value)=0
 
virtual G4bool SetNtupleIColumn (G4int ntupleId, const G4String &columnName, std::vector< G4int > &vector) final
 
virtual G4bool SetNtupleIColumn (G4int ntupleId, const G4String &columnName, std::vector< G4int > &vector)=0
 
virtual G4bool SetNtupleSColumn (const G4String &columnName, G4String &value) final
 
virtual G4bool SetNtupleSColumn (const G4String &columnName, std::vector< std::string > &vector) final
 
virtual G4bool SetNtupleSColumn (G4int ntupleId, const G4String &columnName, G4String &value) final
 
virtual G4bool SetNtupleSColumn (G4int ntupleId, const G4String &columnName, std::vector< std::string > &vector) final
 

Protected Attributes

G4int fFirstId { 0 }
 
G4bool fLockFirstId { false }
 
const G4AnalysisManagerStatefState
 

Private Member Functions

G4int GetCurrentNtupleId () const
 
virtual G4bool GetTNtupleRow (G4TRNtupleDescription< tools::aida::ntuple > *ntupleDescription) final
 
virtual G4int ReadNtupleImpl (const G4String &ntupleName, const G4String &fileName, const G4String &dirName, G4bool isUserFileName) final
 
G4bool SetNtupleTColumn (G4int ntupleId, const G4String &name, std::vector< T > &vector)
 
G4bool SetNtupleTColumn (G4int ntupleId, const G4String &name, T &value)
 

Private Attributes

std::shared_ptr< G4XmlRFileManagerfFileManager { nullptr }
 
std::vector< G4TRNtupleDescription< tools::aida::ntuple > * > fNtupleDescriptionVector
 

Static Private Attributes

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

Friends

class G4XmlAnalysisReader
 

Detailed Description

Definition at line 46 of file G4XmlRNtupleManager.hh.

Constructor & Destructor Documentation

◆ G4XmlRNtupleManager() [1/2]

G4XmlRNtupleManager::G4XmlRNtupleManager ( const G4AnalysisManagerState state)
explicit

◆ G4XmlRNtupleManager() [2/2]

G4XmlRNtupleManager::G4XmlRNtupleManager ( )
delete

◆ ~G4XmlRNtupleManager()

virtual G4XmlRNtupleManager::~G4XmlRNtupleManager ( )
virtualdefault

Member Function Documentation

◆ GetCurrentNtupleId()

G4int G4BaseRNtupleManager::GetCurrentNtupleId ( ) const
privateinherited

◆ 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 G4TRNtupleManager< tools::aida::ntuple >::GetNofNtuples ( ) const
finalprotectedvirtualinherited

Implements G4BaseRNtupleManager.

◆ GetNtuple() [1/2]

tools::aida::ntuple * G4TRNtupleManager< tools::aida::ntuple >::GetNtuple ( ) const
protectedinherited

◆ GetNtuple() [2/2]

tools::aida::ntuple * G4TRNtupleManager< tools::aida::ntuple >::GetNtuple ( G4int  ntupleId) const
protectedinherited

◆ GetNtupleDescriptionInFunction()

G4TRNtupleDescription< tools::aida::ntuple > * G4TRNtupleManager< tools::aida::ntuple >::GetNtupleDescriptionInFunction ( G4int  id,
std::string_view  function,
G4bool  warn = true 
) const
protectedinherited

◆ GetNtupleRow() [1/3]

G4bool G4BaseRNtupleManager::GetNtupleRow ( )
finalprotectedvirtualinherited

Reimplemented from G4BaseRNtupleManager.

Definition at line 88 of file G4BaseRNtupleManager.cc.

102{
103 return GetNtupleRow(fFirstId);
104}

◆ GetNtupleRow() [2/3]

virtual G4bool G4TRNtupleManager< tools::aida::ntuple >::GetNtupleRow ( G4int  ntupleId)
finalprotectedvirtualinherited

Implements G4BaseRNtupleManager.

◆ GetNtupleRow() [3/3]

virtual G4bool G4BaseRNtupleManager::GetNtupleRow ( G4int  ntupleId)
protectedvirtualinherited

Implements G4BaseRNtupleManager.

◆ GetTNtupleRow()

G4bool G4XmlRNtupleManager::GetTNtupleRow ( G4TRNtupleDescription< tools::aida::ntuple > *  ntupleDescription)
finalprivatevirtual

Implements G4TRNtupleManager< tools::aida::ntuple >.

Definition at line 215 of file G4XmlRNtupleManager.cc.

217{
218 auto ntuple = ntupleDescription->fNtuple;
219
220 G4bool isInitialized = ntupleDescription->fIsInitialized;
221 if ( ! isInitialized ) {
222 tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
223 if ( ! ntuple->set_binding(std::cout, *ntupleBinding) ) {
224 Warn("Ntuple initialization failed !!", fkClass, "GetTNtupleRow");
225 return false;
226 }
227 ntupleDescription->fIsInitialized = true;
228 ntuple->start();
229 }
230
231 G4bool next = ntuple->next();
232 if ( next ) {
233 if ( ! ntuple->get_row() ) {
234 Warn("Ntuple get_row() failed !!", fkClass, "GetTNtupleRow");
235 return false;
236 }
237
238 // fill vector from sub ntuples
239 for ( auto [key, value] : ntupleDescription->fIVectorBindingMap) {
240 tools::aida::to_vector<int>(*key, *value);
241 }
242 for ( auto [key, value] : ntupleDescription->fFVectorBindingMap) {
243 tools::aida::to_vector<float>(*key, *value);
244 }
245 for ( auto [key, value] : ntupleDescription->fDVectorBindingMap) {
246 tools::aida::to_vector<double>(*key, *value);
247 }
248 for ( auto [key, value] : ntupleDescription->fSVectorBindingMap) {
249 tools::aida::to_vector<std::string>(*key, *value);
250 }
251 }
252
253 return next;
254}
bool G4bool
Definition: G4Types.hh:86
static constexpr std::string_view fkClass
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)
G4bool isInitialized()
tools::ntuple_binding * fNtupleBinding
std::map< NT *, std::vector< std::string > * > fSVectorBindingMap
std::map< NT *, std::vector< float > * > fFVectorBindingMap
std::map< NT *, std::vector< double > * > fDVectorBindingMap
std::map< NT *, std::vector< int > * > fIVectorBindingMap

References G4TRNtupleDescription< NT >::fDVectorBindingMap, G4TRNtupleDescription< NT >::fFVectorBindingMap, G4TRNtupleDescription< NT >::fIsInitialized, G4TRNtupleDescription< NT >::fIVectorBindingMap, fkClass, G4TRNtupleDescription< NT >::fNtuple, G4TRNtupleDescription< NT >::fNtupleBinding, G4TRNtupleDescription< NT >::fSVectorBindingMap, G4INCL::Random::isInitialized(), and G4Analysis::Warn().

◆ IsEmpty()

G4bool G4TRNtupleManager< tools::aida::ntuple >::IsEmpty ( ) const
protectedinherited

◆ 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

◆ ReadNtupleImpl()

G4int G4XmlRNtupleManager::ReadNtupleImpl ( const G4String ntupleName,
const G4String fileName,
const G4String dirName,
G4bool  isUserFileName 
)
finalprivatevirtual

Implements G4VRNtupleManager.

Definition at line 74 of file G4XmlRNtupleManager.cc.

78{
79 Message(kVL4, "read", "ntuple", ntupleName);
80
81 // Ntuples are saved per object and per thread
82 // but apply the ntuple name and the thread suffixes
83 // only if fileName is not provided explicitly
84 auto fullFileName = fileName;
85 if ( ! isUserFileName ) {
86 fullFileName = fFileManager->GetNtupleFileName(ntupleName);
87 }
88
89 auto handler = fFileManager->GetHandler<tools::aida::ntuple>(
90 fullFileName, ntupleName, "ReadNtupleImpl");
91 if ( ! handler ) return kInvalidId;
92
93 auto rntuple = static_cast<tools::aida::ntuple*>(handler->object());
95
96 Message(kVL2, "read", "ntuple", ntupleName, id > kInvalidId);
97
98 return id;
99}
void Message(G4int level, const G4String &action, const G4String &objectType, const G4String &objectName="", G4bool success=true) const
G4int SetNtuple(G4TRNtupleDescription< tools::aida::ntuple > *rntupleDescription)
std::shared_ptr< G4XmlRFileManager > fFileManager
constexpr G4int kVL2
constexpr G4int kVL4
constexpr G4int kInvalidId

References fFileManager, G4Analysis::kInvalidId, G4Analysis::kVL2, G4Analysis::kVL4, G4BaseAnalysisManager::Message(), and G4TRNtupleManager< tools::aida::ntuple >::SetNtuple().

◆ Reset()

G4bool G4TRNtupleManager< tools::aida::ntuple >::Reset ( )
protectedinherited

◆ SetFileManager()

void G4XmlRNtupleManager::SetFileManager ( std::shared_ptr< G4XmlRFileManager fileManager)
inlineprotected

Definition at line 94 of file G4XmlRNtupleManager.hh.

95{ 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().

◆ 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().

◆ SetNtuple()

G4int G4TRNtupleManager< tools::aida::ntuple >::SetNtuple ( G4TRNtupleDescription< tools::aida::ntuple > *  rntupleDescription)
protectedinherited

◆ SetNtupleDColumn() [1/5]

G4bool G4BaseRNtupleManager::SetNtupleDColumn ( const G4String columnName,
G4double value 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 62 of file G4BaseRNtupleManager.cc.

61{
62 return SetNtupleDColumn(GetCurrentNtupleId(), columnName, value);
63}
G4int GetCurrentNtupleId() const
virtual G4bool SetNtupleDColumn(G4int ntupleId, const G4String &columnName, std::vector< G4double > &vector) final

◆ SetNtupleDColumn() [2/5]

G4bool G4BaseRNtupleManager::SetNtupleDColumn ( const G4String columnName,
std::vector< G4double > &  vector 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 81 of file G4BaseRNtupleManager.cc.

89{
90 return SetNtupleDColumn(GetCurrentNtupleId(), columnName, vector);
91}

◆ SetNtupleDColumn() [3/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleDColumn ( G4int  ntupleId,
const G4String columnName,
G4double value 
)
protectedvirtual

◆ SetNtupleDColumn() [4/5]

G4bool G4XmlRNtupleManager::SetNtupleDColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4double > &  vector 
)
finalprotectedvirtual

Reimplemented from G4TRNtupleManager< tools::aida::ntuple >.

Definition at line 159 of file G4XmlRNtupleManager.cc.

162{
163// Override base class default implementation
164
165 Message(kVL4, "set", "ntuple D column",
166 " ntupleId " + to_string(ntupleId) + " " + columnName);
167
168 auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "SetNtupleDColumn");
169 if ( ! ntupleDescription ) return false;
170
171 // not supported
172 //tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
173 //ntupleBinding->add_column(columnName, vector);
174
175 auto subNtuple = new tools::aida::ntuple(G4cout, columnName);
176 ntupleDescription->fDVectorBindingMap[subNtuple] = &vector;
177 tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
178 ntupleBinding->add_column_cid(columnName, *subNtuple);
179
180 Message(kVL2, "set", "ntuple D column",
181 " ntupleId " + to_string(ntupleId) + " " + columnName);
182
183 return true;
184}
G4GLOB_DLL std::ostream G4cout
G4TRNtupleDescription< tools::aida::ntuple > * GetNtupleDescriptionInFunction(G4int id, std::string_view function, G4bool warn=true) const

References G4cout, G4TRNtupleManager< tools::aida::ntuple >::GetNtupleDescriptionInFunction(), G4Analysis::kVL2, G4Analysis::kVL4, and G4BaseAnalysisManager::Message().

◆ SetNtupleDColumn() [5/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleDColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4double > &  vector 
)
protectedvirtual

◆ SetNtupleFColumn() [1/5]

G4bool G4BaseRNtupleManager::SetNtupleFColumn ( const G4String columnName,
G4float value 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 60 of file G4BaseRNtupleManager.cc.

54{
55 return SetNtupleFColumn(GetCurrentNtupleId(), columnName, value);
56}
virtual G4bool SetNtupleFColumn(G4int ntupleId, const G4String &columnName, std::vector< G4float > &vector) final

◆ SetNtupleFColumn() [2/5]

G4bool G4BaseRNtupleManager::SetNtupleFColumn ( const G4String columnName,
std::vector< G4float > &  vector 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 79 of file G4BaseRNtupleManager.cc.

82{
83 return SetNtupleFColumn(GetCurrentNtupleId(), columnName, vector);
84}

◆ SetNtupleFColumn() [3/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleFColumn ( G4int  ntupleId,
const G4String columnName,
G4float value 
)
protectedvirtual

◆ SetNtupleFColumn() [4/5]

G4bool G4XmlRNtupleManager::SetNtupleFColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4float > &  vector 
)
finalprotectedvirtual

Reimplemented from G4TRNtupleManager< tools::aida::ntuple >.

Definition at line 130 of file G4XmlRNtupleManager.cc.

133{
134// Override base class default implementation
135
136 Message(kVL4, "set", "ntuple F column",
137 " ntupleId " + to_string(ntupleId) + " " + columnName);
138
139
140 auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "SetNtupleFColumn");
141 if ( ! ntupleDescription ) return false;
142
143 // not supported
144 //tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
145 //ntupleBinding->add_column(columnName, vector);
146
147 auto subNtuple = new tools::aida::ntuple(G4cout, columnName);
148 ntupleDescription->fFVectorBindingMap[subNtuple] = &vector;
149 tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
150 ntupleBinding->add_column_cid(columnName, *subNtuple);
151
152 Message(kVL4, "set", "ntuple F column",
153 " ntupleId " + to_string(ntupleId) + " " + columnName);
154
155 return true;
156}

References G4cout, G4TRNtupleManager< tools::aida::ntuple >::GetNtupleDescriptionInFunction(), G4Analysis::kVL4, and G4BaseAnalysisManager::Message().

◆ SetNtupleFColumn() [5/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleFColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4float > &  vector 
)
protectedvirtual

◆ SetNtupleIColumn() [1/5]

G4bool G4BaseRNtupleManager::SetNtupleIColumn ( const G4String columnName,
G4int value 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 58 of file G4BaseRNtupleManager.cc.

48{
49 return SetNtupleIColumn(GetCurrentNtupleId(), columnName, value);
50}
virtual G4bool SetNtupleIColumn(G4int ntupleId, const G4String &columnName, std::vector< G4int > &vector) final

◆ SetNtupleIColumn() [2/5]

G4bool G4BaseRNtupleManager::SetNtupleIColumn ( const G4String columnName,
std::vector< G4int > &  vector 
)
finalprotectedvirtual

Reimplemented from G4BaseRNtupleManager.

Definition at line 77 of file G4BaseRNtupleManager.cc.

75{
76 return SetNtupleIColumn(GetCurrentNtupleId(), columnName, vector);
77}

◆ SetNtupleIColumn() [3/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleIColumn ( G4int  ntupleId,
const G4String columnName,
G4int value 
)
protectedvirtual

◆ SetNtupleIColumn() [4/5]

G4bool G4XmlRNtupleManager::SetNtupleIColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4int > &  vector 
)
finalprotectedvirtual

Reimplemented from G4TRNtupleManager< tools::aida::ntuple >.

Definition at line 102 of file G4XmlRNtupleManager.cc.

105{
106// Override base class default implementation
107
108 Message(kVL4, "set", "ntuple I column",
109 " ntupleId " + to_string(ntupleId) + " " + columnName);
110
111 auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "SetNtupleIColumn");
112 if ( ! ntupleDescription ) return false;
113
114 // not supported
115 //tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
116 //ntupleBinding->add_column(columnName, vector);
117
118 auto subNtuple = new tools::aida::ntuple(G4cout, columnName);
119 ntupleDescription->fIVectorBindingMap[subNtuple] = &vector;
120 tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
121 ntupleBinding->add_column_cid(columnName, *subNtuple);
122
123 Message(kVL2, "set", "ntuple I column",
124 " ntupleId " + to_string(ntupleId) + " " + columnName);
125
126 return true;
127}

References G4cout, G4TRNtupleManager< tools::aida::ntuple >::GetNtupleDescriptionInFunction(), G4Analysis::kVL2, G4Analysis::kVL4, and G4BaseAnalysisManager::Message().

◆ SetNtupleIColumn() [5/5]

virtual G4bool G4BaseRNtupleManager::SetNtupleIColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< G4int > &  vector 
)
protectedvirtual

◆ SetNtupleSColumn() [1/4]

G4bool G4BaseRNtupleManager::SetNtupleSColumn ( const G4String columnName,
G4String value 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseRNtupleManager.

Definition at line 66 of file G4BaseRNtupleManager.cc.

68{
69 return SetNtupleSColumn(GetCurrentNtupleId(), columnName, value);
70}
virtual G4bool SetNtupleSColumn(G4int ntupleId, const G4String &columnName, G4String &value) final

◆ SetNtupleSColumn() [2/4]

G4bool G4BaseRNtupleManager::SetNtupleSColumn ( const G4String columnName,
std::vector< std::string > &  vector 
)
finalprotectedvirtualinherited

Reimplemented from G4BaseRNtupleManager.

Definition at line 66 of file G4BaseRNtupleManager.cc.

96{
97 return SetNtupleSColumn(GetCurrentNtupleId(), columnName, vector);
98}

◆ SetNtupleSColumn() [3/4]

virtual G4bool G4TRNtupleManager< tools::aida::ntuple >::SetNtupleSColumn ( G4int  ntupleId,
const G4String columnName,
G4String value 
)
finalprotectedvirtualinherited

Implements G4BaseRNtupleManager.

◆ SetNtupleSColumn() [4/4]

G4bool G4XmlRNtupleManager::SetNtupleSColumn ( G4int  ntupleId,
const G4String columnName,
std::vector< std::string > &  vector 
)
finalprotectedvirtual

Reimplemented from G4TRNtupleManager< tools::aida::ntuple >.

Definition at line 187 of file G4XmlRNtupleManager.cc.

190{
191// Override base class default implementation
192
193 Message(kVL4, "set", "ntuple S column",
194 " ntupleId " + to_string(ntupleId) + " " + columnName);
195
196 auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "SetNtupleSColumn");
197 if ( ! ntupleDescription ) return false;
198
199 // not supported
200 //tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
201 //ntupleBinding->add_column(columnName, vector);
202
203 auto subNtuple = new tools::aida::ntuple(G4cout, columnName);
204 ntupleDescription->fSVectorBindingMap[subNtuple] = &vector;
205 tools::ntuple_binding* ntupleBinding = ntupleDescription->fNtupleBinding;
206 ntupleBinding->add_column_cid(columnName, *subNtuple);
207
208 Message(kVL2, "set", "ntuple S column",
209 " ntupleId " + to_string(ntupleId) + " " + columnName);
210
211 return true;
212}

References G4cout, G4TRNtupleManager< tools::aida::ntuple >::GetNtupleDescriptionInFunction(), G4Analysis::kVL2, G4Analysis::kVL4, and G4BaseAnalysisManager::Message().

◆ SetNtupleTColumn() [1/2]

G4bool G4TRNtupleManager< tools::aida::ntuple >::SetNtupleTColumn ( G4int  ntupleId,
const G4String name,
std::vector< T > &  vector 
)
privateinherited

◆ SetNtupleTColumn() [2/2]

G4bool G4TRNtupleManager< tools::aida::ntuple >::SetNtupleTColumn ( G4int  ntupleId,
const G4String name,
T &  value 
)
privateinherited

Friends And Related Function Documentation

◆ G4XmlAnalysisReader

friend class G4XmlAnalysisReader
friend

Definition at line 48 of file G4XmlRNtupleManager.hh.

Field Documentation

◆ fFileManager

std::shared_ptr<G4XmlRFileManager> G4XmlRNtupleManager::fFileManager { nullptr }
private

Definition at line 90 of file G4XmlRNtupleManager.hh.

Referenced by ReadNtupleImpl(), and SetFileManager().

◆ fFirstId

G4int G4BaseAnalysisManager::fFirstId { 0 }
protectedinherited

◆ fkClass

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

Definition at line 87 of file G4XmlRNtupleManager.hh.

Referenced by GetTNtupleRow().

◆ fLockFirstId

G4bool G4BaseAnalysisManager::fLockFirstId { false }
protectedinherited

◆ fNtupleDescriptionVector

std::vector<G4TRNtupleDescription<tools::aida::ntuple >*> G4TRNtupleManager< tools::aida::ntuple >::fNtupleDescriptionVector
privateinherited

Definition at line 118 of file G4TRNtupleManager.hh.

◆ fState

const G4AnalysisManagerState& G4BaseAnalysisManager::fState
protectedinherited

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