 |
ATLAS Offline Software
|
Go to the documentation of this file.
12 : BaseSimulationG4Svc(
name,
svc) {}
23 if (!m_simulatorG4Tool) {
24 ATH_MSG_FATAL(
"SimulatorTool is not of type ISF::BaseSimulatorG4Tool");
25 return StatusCode::FAILURE;
27 return StatusCode::SUCCESS;
33 return StatusCode::SUCCESS;
37 return m_simulatorG4Tool->setupEventST(hitCollections);
42 return m_simulatorG4Tool->releaseEventST(hitCollections);
48 std::shared_ptr<HitCollectionMap> hitCollections) {
49 const EventContext& ctx = Gaudi::Hive::currentContext();
51 ATH_CHECK(m_simulatorG4Tool->simulate(ctx, isp, secondaries,
52 mcEventCollection, hitCollections));
53 return StatusCode::SUCCESS;
59 McEventCollection* mcEventCollection, std::shared_ptr<HitCollectionMap> hitCollections,
61 const EventContext& ctx = Gaudi::Hive::currentContext();
63 ATH_CHECK(m_simulatorG4Tool->simulateVector(
64 ctx,
particles, secondaries, mcEventCollection, hitCollections, shadowTruth));
65 return StatusCode::SUCCESS;
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)
virtual StatusCode simulate(ISF::ISFParticle &isp, McEventCollection *mcEventCollection, std::shared_ptr< HitCollectionMap >) override
Simulation Call
Small wrapper around hit collection map to facilitate accessing the hit collection.
Geant4SimSvc()
Default constructor.
virtual StatusCode finalize() override
framework methods
virtual StatusCode releaseEvent() override
Release Event chain - in case of an end-of event action is needed.
virtual StatusCode setupEvent() override
Setup Event chain - in case of a begin-of event action is needed.
virtual StatusCode simulateVector(const ISF::ISFParticleVector &particles, McEventCollection *mcEventCollection, std::shared_ptr< HitCollectionMap > hitCollections, McEventCollection *shadowTruth=nullptr) override
Simulation Call for vector of ISF particles.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
AthROOTErrorHandlerSvc * svc
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
virtual ~Geant4SimSvc()
Destructor.
virtual StatusCode initialize() override
Athena algorithm's interface methods.