5#ifndef G4ATLASALG_G4RunAlg_H
6#define G4ATLASALG_G4RunAlg_H
16#include "Gaudi/Property.h"
17#include "GaudiKernel/ServiceHandle.h"
18#include "GaudiKernel/StatusCode.h"
19#include "GaudiKernel/ToolHandle.h"
58 virtual bool isClonable()
const override {
return true; }
69 virtual StatusCode
execute()
override;
81 Gaudi::Property<bool>
m_useShadowEvent{
this,
"UseShadowEvent",
false,
"New approach to selecting particles for simulation"};
83 Gaudi::Property<std::string>
m_simplifiedGeoPath{
this,
"SimplifiedGeoPath",
"",
"Path to the simplified geometry file"};
84 Gaudi::Property<std::map<std::string, std::string>>
m_verbosities {
this,
"Verbosities", {},
"Map of G4 Verbosities to set for the simulation"};
104 PublicToolHandle<IFastSimulationMasterTool>
m_fastSimTool{
this,
"FastSimMasterTool",
"FastSimulationMasterTool",
""};
106 PublicToolHandle<IG4RunTool>
m_g4RunTool{
this,
"G4RunTool",
"G4RunTool",
""};
108 PublicToolHandle<ISensitiveDetectorMasterTool>
m_senDetTool{
this,
"SenDetMasterTool",
"SensitiveDetectorMasterTool",
""};
110 ToolHandle<ISF::IGenEventFilter>
m_truthPreselectionTool{
this,
"TruthPreselectionTool",
"",
"Tool for filtering out quasi-stable particle daughters"};
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Define macros for attributes used to control the static checker.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Primary Athena algorithm for ATLAS simulation.
ServiceHandle< ISF::IGeoIDSvc > m_geoIDSvc
Geo ID Service.
Gaudi::Property< std::string > m_simplifiedGeoPath
Gaudi::Property< bool > m_releaseGeoModel
ToolHandle< ISF::IGenEventFilter > m_truthPreselectionTool
Tool for filtering out quasi-stable particle daughters.
ServiceHandle< Simulation::IZeroLifetimePatcher > m_qspatcher
Quasi-Stable Particle Simulation Patcher.
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Random number service.
PublicToolHandle< IG4RunTool > m_g4RunTool
G4Atlas Tool for thread management and data interface.
void releaseGeoModel()
Releases the GeoModel geometry from memory once it has been used to build the G4 geometry and is no-l...
Gaudi::Property< bool > m_useShadowEvent
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
PublicToolHandle< ISensitiveDetectorMasterTool > m_senDetTool
Sensitive Detector Master Tool.
ServiceHandle< G4UA::IUserActionSvc > m_userActionSvc
User Action Service.
ServiceHandle< ISF::ITruthSvc > m_truthRecordSvc
Central Truth Service.
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
Initialize the algorithm.
virtual StatusCode execute() override
Simulate one Athena event.
Gaudi::Property< std::map< std::string, std::string > > m_verbosities
Gaudi::Property< bool > m_killAbortedEvents
Gaudi::Property< std::string > m_randomStreamName
PublicToolHandle< IFastSimulationMasterTool > m_fastSimTool
Fast Simulation Master Tool.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm constructor.
SG::WriteHandleKey< McEventCollection > m_outputTruthCollectionKey
ServiceHandle< ISF::IInputConverter > m_inputConverter
Service to convert ISF_Particles into a G4Event.
SG::ReadHandleKey< McEventCollection > m_inputTruthCollectionKey
virtual bool isClonable() const override
this Alg is Clonable (for AthenaMT)
Gaudi::Property< bool > m_flagAbortedEvents
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.