k4SimGeant4
Loading...
Searching...
No Matches
SimG4FastSimTrackerRegion.h
Go to the documentation of this file.
1#ifndef SIMG4FAST_SIMG4FASTSIMTRACKERREGION_H
2#define SIMG4FAST_SIMG4FASTSIMTRACKERREGION_H
3
4// Gaudi
5#include "GaudiKernel/AlgTool.h"
6#include "GaudiKernel/ToolHandle.h"
7
8// FCCSW
11
12// Geant
13class G4VFastSimulationModel;
14class G4Region;
15
27class SimG4FastSimTrackerRegion : public AlgTool, virtual public ISimG4RegionTool {
28public:
29 explicit SimG4FastSimTrackerRegion(const std::string& type, const std::string& name, const IInterface* parent);
34 virtual StatusCode initialize() final;
38 virtual StatusCode finalize() final;
42 virtual StatusCode create() final;
46 inline virtual const std::vector<std::string>& volumeNames() const final { return m_volumeNames; };
50 inline virtual double minMom() const final { return m_minMomentum; };
54 inline virtual double maxP() const final { return m_maxMomentum; };
58 inline virtual double maxEta() const final { return m_maxEta; };
59
60private:
62 ToolHandle<ISimG4ParticleSmearTool> m_smearTool{"SimG4ParticleSmearSimple", this, true};
65 std::vector<G4Region*> m_g4regions;
67 std::vector<std::unique_ptr<G4VFastSimulationModel>> m_models;
69 Gaudi::Property<std::vector<std::string>> m_volumeNames{this, "volumeNames", {}, "Names of the parametrised volumes"};
71 Gaudi::Property<double> m_minMomentum{this, "minMomentum", 0, "minimum momentum that triggers the fast sim model"};
73 Gaudi::Property<double> m_maxMomentum{this, "maxMomentum", 0, "maximum momentum that triggers the fast sim model"};
75 Gaudi::Property<double> m_maxEta{this, "maxEta", 0, "maximum pseudorapidity"};
76};
77
78#endif /* SIMG4FAST_SIMG4FASTSIMTRACKERREGION_H */
Interface to the tool creating region.
Definition ISimG4RegionTool.h:14
Tool for creating regions for fast simulation, attaching sim::FastSimModelTracker to them.
Definition SimG4FastSimTrackerRegion.h:27
virtual double maxEta() const final
Get the maximum pseudorapidity that triggers fast simulation.
Definition SimG4FastSimTrackerRegion.h:58
Gaudi::Property< double > m_minMomentum
minimum momentum that triggers the fast sim model (set by job options)
Definition SimG4FastSimTrackerRegion.h:71
virtual StatusCode create() final
Create regions and fast simulation models.
Definition SimG4FastSimTrackerRegion.cpp:48
std::vector< std::unique_ptr< G4VFastSimulationModel > > m_models
Fast simulation (parametrisation) models.
Definition SimG4FastSimTrackerRegion.h:67
virtual double minMom() const final
Get the minimum momentum that triggers fast simulation.
Definition SimG4FastSimTrackerRegion.h:50
virtual StatusCode finalize() final
Finalize.
Definition SimG4FastSimTrackerRegion.cpp:46
Gaudi::Property< std::vector< std::string > > m_volumeNames
Names of the parametrised volumes (set by job options)
Definition SimG4FastSimTrackerRegion.h:69
virtual double maxP() const final
Get the maximum momentum that triggers fast simulation.
Definition SimG4FastSimTrackerRegion.h:54
virtual ~SimG4FastSimTrackerRegion()
Definition SimG4FastSimTrackerRegion.cpp:21
ToolHandle< ISimG4ParticleSmearTool > m_smearTool
Pointer to a smearing tool, to retrieve tracker configuration (names of volumes)
Definition SimG4FastSimTrackerRegion.h:62
virtual const std::vector< std::string > & volumeNames() const final
Get the names of the volumes where fast simulation should be performed.
Definition SimG4FastSimTrackerRegion.h:46
std::vector< G4Region * > m_g4regions
Envelopes that are used in a parametric simulation deleted by the G4RegionStore.
Definition SimG4FastSimTrackerRegion.h:65
virtual StatusCode initialize() final
Initialize.
Definition SimG4FastSimTrackerRegion.cpp:23
SimG4FastSimTrackerRegion(const std::string &type, const std::string &name, const IInterface *parent)
Definition SimG4FastSimTrackerRegion.cpp:13
Gaudi::Property< double > m_maxEta
maximum pseudorapidity (set by job options)
Definition SimG4FastSimTrackerRegion.h:75
Gaudi::Property< double > m_maxMomentum
maximum momentum that triggers the fast sim model (set by job options)
Definition SimG4FastSimTrackerRegion.h:73