|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef ISF_SIMKERNELMT_H
12 #define ISF_SIMKERNELMT_H 1
39 #include "GaudiKernel/ServiceHandle.h"
47 class SimKernelMT_test;
100 BooleanProperty
m_useShadowEvent{
this,
"UseShadowEvent",
false,
"New approach to selecting particles for simulation" };
102 Gaudi::Property<bool>
m_forceGeoIDSvc{
this,
"AlwaysUseGeoIDSvc",
false,
"Force geoID recalculation for each particle" };
104 ToolHandle<IGenEventFilter>
m_truthPreselectionTool{
this,
"TruthPreselectionTool",
"",
"Tool for filtering out quasi-stable particle daughters"};
122 PublicToolHandle<IEntryLayerTool>
m_entryLayerTool{
this,
"EntryLayerTool",
"ISF_EntryLayerToolMT",
""};
128 ToolHandle<IParticleOrderingTool>
m_orderingTool{
this,
"ParticleOrderingTool",
"",
"Tool to set order of particles"};
142 #endif // ISF_SIMKERNELMT_H
ToolHandleArray< ISimulatorTool > m_simulationTools
Simulation Tools.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
ServiceHandle< IInputConverter > m_inputConverter
Input converter service (from Generator->ISF particle types)
SG::WriteHandleKey< TrackRecordCollection > m_muonExitLayerKey
SG::WriteHandleKey< McEventCollection > m_outputTruthKey
Output Simulation Truth collection.
std::array< ToolHandleArray< ISimulationSelector >, AtlasDetDescr::fNumAtlasRegions > m_simSelectors
The simulation selectors defining the "routing chain".
ISimulatorTool & identifySimulator(const ISF::ISFParticle &particle)
Returns the simulator to use for the given particle.
ISimulatorTool * m_particleKillerTool
When no appropriate simulator can be found for a given particle, the particle is sent to this "partic...
BooleanProperty m_useShadowEvent
ServiceHandle< ITruthSvc > m_truthRecordSvc
Central truth service.
Handle class for recording to StoreGate.
virtual ~SimKernelMT()
Implements empty destructor.
size_t m_maxParticleVectorSize
Number of particles simultaneously sent to simulator.
bool isClonable() const override
::StatusCode StatusCode
StatusCode definition for legacy code.
ServiceHandle< Simulation::IZeroLifetimePatcher > m_qspatcher
Quasi-Stable Particle Simulation Patcher.
SimKernelMT(const std::string &name, ISvcLocator *pSvcLocator)
Implements standard AthAlgorithm constructor.
Core Athena algorithm for the Integrated Simulation Framework.
StatusCode finalize() override
Implements empty finalize (implementation required by AthAlgorithm)
PublicToolHandle< IEntryLayerTool > m_entryLayerTool
AthenaTool responsible for writing Calo/Muon Entry/Exit Layer collection.
ServiceHandle< IGeoIDSvc > m_geoIDSvc
Service to set particle GeoIDs.
SG::WriteHandleKey< TrackRecordCollection > m_caloEntryLayerKey
Output TrackRecordCollections.
friend class ISFTesting::SimKernelMT_test
Allow the test class access to all methods.
Gaudi::Property< bool > m_forceGeoIDSvc
Force geoID recalculation for each particle.
std::map< ISF::SimulationFlavor, ISimulatorTool * > m_simToolMap
Map of the simulation flavours used in this job to the corresponding Simulation Services.
Core Athena algorithm for the Integrated Simulation Framework.
StatusCode execute() override
Check the validity of the MC truth event in the current Athena event.
Handle class for reading from StoreGate.
SG::ReadHandleKey< McEventCollection > m_inputEvgenKey
Input Generator Truth collection.
ToolHandle< IParticleOrderingTool > m_orderingTool
Tool to set particle ordering.
ToolHandle< IGenEventFilter > m_truthPreselectionTool
SG::WriteHandleKey< TrackRecordCollection > m_muonEntryLayerKey
StatusCode initialize() override
Check user configuration and configure the algorithm state accordingly.