k4SimGeant4
Loading...
Searching...
No Matches
SimG4FullSimDCHRegion.h
Go to the documentation of this file.
1#ifndef SIMG4FAST_SIMG4FULLSIMDCHREGION_H
2#define SIMG4FAST_SIMG4FULLSIMDCHREGION_H
3
4// Gaudi
5#include "GaudiKernel/AlgTool.h"
6#include "GaudiKernel/ToolHandle.h"
7
8// FCCSW
11#include "G4UserLimits.hh"
12
13// Geant
14//class G4VFastSimulationModel;
15class G4Region;
16
28class SimG4FullSimDCHRegion : public AlgTool, virtual public ISimG4RegionTool {
29public:
30 explicit SimG4FullSimDCHRegion(const std::string& type, const std::string& name, const IInterface* parent);
31 virtual ~SimG4FullSimDCHRegion();
35 virtual StatusCode initialize() final;
39 virtual StatusCode finalize() final;
43 virtual StatusCode create() final;
47 inline virtual const std::vector<std::string>& volumeNames() const final { return m_volumeNames; };
48
49
50private:
53 std::vector<G4Region*> m_g4regions;
54 // std::vector<std::unique_ptr<G4UserLimits>> m_models;
56 Gaudi::Property<std::vector<std::string>> m_volumeNames{this, "volumeNames", {}, "Names of the parametrised volumes"};
57 Gaudi::Property<double> m_maxStepLength{this, "max_step_length", 0, "Step length for the region."};
58 G4UserLimits* fStepLimit{nullptr}; // pointer to user step limits
59};
60
61#endif /* SIMG4FAST_SIMG4FULLSIMDCHREGION_H */
Interface to the tool creating region.
Definition ISimG4RegionTool.h:14
Tool for creating regions for fast simulation, attaching sim::FastSimModelTracker to them.
Definition SimG4FullSimDCHRegion.h:28
virtual StatusCode finalize() final
Finalize.
Definition SimG4FullSimDCHRegion.cpp:42
virtual StatusCode initialize() final
Initialize.
Definition SimG4FullSimDCHRegion.cpp:26
virtual const std::vector< std::string > & volumeNames() const final
Get the names of the volumes where fast simulation should be performed.
Definition SimG4FullSimDCHRegion.h:47
std::vector< G4Region * > m_g4regions
Envelopes that are used in a parametric simulation deleted by the G4RegionStore.
Definition SimG4FullSimDCHRegion.h:53
G4UserLimits * fStepLimit
Definition SimG4FullSimDCHRegion.h:58
Gaudi::Property< double > m_maxStepLength
Definition SimG4FullSimDCHRegion.h:57
virtual StatusCode create() final
Create regions and fast simulation models.
Definition SimG4FullSimDCHRegion.cpp:48
SimG4FullSimDCHRegion(const std::string &type, const std::string &name, const IInterface *parent)
Definition SimG4FullSimDCHRegion.cpp:14
virtual ~SimG4FullSimDCHRegion()
Definition SimG4FullSimDCHRegion.cpp:21
Gaudi::Property< std::vector< std::string > > m_volumeNames
Names of the parametrised volumes (set by job options)
Definition SimG4FullSimDCHRegion.h:56