Import Geant4 11.0.0 source tree
This commit is contained in:
committed by
Ben Morgan
parent
6399a014b6
commit
80e2389dd8
@@ -25,7 +25,7 @@
|
||||
//
|
||||
|
||||
// The main manager for Root analysis.
|
||||
// It delegates most of functions to the object specific managers.
|
||||
// It delegates most of functions to the object specific managers.
|
||||
|
||||
// Author: Ivana Hrivnacova, 18/06/2013 (ivana@ipno.in2p3.fr)
|
||||
|
||||
@@ -34,24 +34,28 @@
|
||||
|
||||
#include "G4ToolsAnalysisManager.hh"
|
||||
#include "G4THnManager.hh"
|
||||
#include "G4Threading.hh"
|
||||
#include "G4AnalysisUtilities.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include <memory>
|
||||
#include <string_view>
|
||||
|
||||
class G4GenericAnalysisManager;
|
||||
class G4GenericFileManager;
|
||||
class G4HnInformation;
|
||||
class G4VNtupleFileManager;
|
||||
template <class T>
|
||||
class G4ThreadLocalSingleton;
|
||||
|
||||
class G4GenericAnalysisManager : public G4ToolsAnalysisManager
|
||||
{
|
||||
friend class G4RootMpiAnalysisManager;
|
||||
friend class G4ThreadLocalSingleton<G4GenericAnalysisManager>;
|
||||
|
||||
public:
|
||||
explicit G4GenericAnalysisManager(G4bool isMaster = true);
|
||||
virtual ~G4GenericAnalysisManager();
|
||||
|
||||
// static methods
|
||||
|
||||
// Static methods
|
||||
static G4GenericAnalysisManager* Instance();
|
||||
static G4bool IsInstance();
|
||||
|
||||
@@ -62,51 +66,53 @@ class G4GenericAnalysisManager : public G4ToolsAnalysisManager
|
||||
virtual void SetBasketSize(unsigned int basketSize) override;
|
||||
virtual void SetBasketEntries(unsigned int basketEntries) override;
|
||||
|
||||
// new functions
|
||||
G4bool Merge();
|
||||
|
||||
// write in an extra file
|
||||
// write in an extra file
|
||||
G4bool WriteH1(G4int id, const G4String& fileName);
|
||||
G4bool WriteH2(G4int id, const G4String& fileName);
|
||||
G4bool WriteH3(G4int id, const G4String& fileName);
|
||||
G4bool WriteP1(G4int id, const G4String& fileName);
|
||||
G4bool WriteP2(G4int id, const G4String& fileName);
|
||||
|
||||
// set default output type (backward compatibility)
|
||||
// Set default output type (backward compatibility)
|
||||
// this type will be used for file names without extension
|
||||
void SetDefaultFileType(const G4String& value);
|
||||
G4String GetDefaultFileType() const;
|
||||
|
||||
protected:
|
||||
// virtual methods from base class
|
||||
// Virtual methods from base class
|
||||
virtual G4bool OpenFileImpl(const G4String& fileName) override;
|
||||
virtual G4bool WriteImpl() final;
|
||||
virtual G4bool CloseFileImpl(G4bool reset = true) override;
|
||||
virtual G4bool CloseFileImpl(G4bool reset = true) override;
|
||||
virtual G4bool ResetImpl() final;
|
||||
virtual G4bool IsOpenFileImpl() const final;
|
||||
virtual G4bool Reset() final;
|
||||
// File manager access
|
||||
virtual std::shared_ptr<G4VFileManager> GetFileManager(const G4String& fileName) final;
|
||||
|
||||
|
||||
private:
|
||||
// methods
|
||||
G4GenericAnalysisManager();
|
||||
// Methods
|
||||
void CreateNtupleFileManager(const G4String& fileName);
|
||||
|
||||
// static data members
|
||||
static G4GenericAnalysisManager* fgMasterInstance;
|
||||
static G4ThreadLocal G4GenericAnalysisManager* fgInstance;
|
||||
// Static data members
|
||||
inline static G4GenericAnalysisManager* fgMasterInstance { nullptr };
|
||||
inline static G4ThreadLocal G4bool fgIsInstance { false };
|
||||
static constexpr std::string_view fkClass { "G4GenericAnalysisManager" };
|
||||
|
||||
// data members
|
||||
std::shared_ptr<G4GenericFileManager> fFileManager;
|
||||
// Data members
|
||||
std::shared_ptr<G4GenericFileManager> fFileManager { nullptr };
|
||||
// add G4GenericNtupleManager
|
||||
// this class will be analogic to file managers but with ntuples
|
||||
std::shared_ptr<G4VNtupleFileManager> fNtupleFileManager;
|
||||
std::shared_ptr<G4VNtupleFileManager> fNtupleFileManager { nullptr };
|
||||
|
||||
// data members
|
||||
G4bool fIsNtupleMergingSet = false;
|
||||
G4int fNofNtupleFiles = 0;
|
||||
G4bool fMergeNtuples = false;
|
||||
G4bool fNtupleRowWise = false;
|
||||
G4bool fNtupleRowMode = true;
|
||||
unsigned int fBasketSize = fgkDefaultBasketSize;
|
||||
unsigned int fBasketEntries = fgkDefaultBasketEntries;
|
||||
// Data members
|
||||
G4bool fIsNtupleMergingSet { false };
|
||||
G4int fNofNtupleFiles { 0 };
|
||||
G4bool fMergeNtuples { false };
|
||||
G4bool fNtupleRowWise { false };
|
||||
G4bool fNtupleRowMode { true };
|
||||
unsigned int fBasketSize { G4Analysis::kDefaultBasketSize };
|
||||
unsigned int fBasketEntries { G4Analysis::kDefaultBasketEntries };
|
||||
};
|
||||
|
||||
#include "G4GenericAnalysisManager.icc"
|
||||
|
||||
Reference in New Issue
Block a user