31#ifndef G4RootPNtupleManager_h
32#define G4RootPNtupleManager_h 1
58class mutex :
public virtual tools::wroot::imutex {
59 using parent = tools::wroot::imutex;
92 std::shared_ptr<G4NtupleBookingManager> bookingManger,
93 std::shared_ptr<G4RootMainNtupleManager> main,
101 tools::wroot::ntuple* mainNtuple);
102 void CreateNtupleDescriptionsFromBooking();
103 void CreateNtuplesFromMain();
104 void CreateNtuplesIfNeeded();
123 virtual G4bool Merge() final;
133 void SetActivation(
G4bool activation) final;
134 void SetActivation(
G4int ntupleId,
G4bool activation) final;
138 void SetNewCycle(
G4bool value) final;
139 G4bool GetNewCycle() const final;
147 tools::wroot::base_pntuple*
149 tools::wroot::ntuple*
152 template <typename T>
155 template <typename T>
156 G4bool FillNtupleTColumn(
G4int columnId, const T& value);
159 static constexpr
std::string_view fkClass {
"G4RootPNtupleManager" };
162 std::shared_ptr<G4NtupleBookingManager> fBookingManager;
163 std::shared_ptr<G4RootMainNtupleManager> fMainNtupleManager;
164 std::vector<G4RootPNtupleDescription*> fNtupleDescriptionVector;
165 std::vector<tools::wroot::imt_ntuple*> fNtupleVector;
168 G4bool fCreateNtuples {
true };
169 G4bool fNewCycle {
false };
172#include "G4RootPNtupleManager.icc"
G4TemplateAutoLock< G4Mutex > G4AutoLock
G4double(*)(G4double) function
G4BaseNtupleManager(const G4AnalysisManagerState &state)
G4bool FillNtupleSColumn(G4int id, const G4String &value) final
G4bool FillNtupleFColumn(G4int id, G4float value) final
G4bool FillNtupleDColumn(G4int id, G4double value) final
G4bool FillNtupleIColumn(G4int id, G4int value) final
G4bool AddNtupleRow() final
G4RootPNtupleManager()=delete
~G4RootPNtupleManager() override
friend class G4RootAnalysisManager
friend class G4RootNtupleFileManager
G4RootPNtupleManager(const G4AnalysisManagerState &state, std::shared_ptr< G4NtupleBookingManager > bookingManger, std::shared_ptr< G4RootMainNtupleManager > main, G4bool rowWise, G4bool rowMode)
mutex & operator=(const mutex &)
~mutex() override=default
mutex(G4AutoLock &a_mutex)
mutex(const mutex &a_from)=default