12 : BaseSimulationG4Svc(name, svc) {}
24 ATH_MSG_FATAL(
"SimulatorTool is not of type ISF::BaseSimulatorG4Tool");
25 return StatusCode::FAILURE;
27 return StatusCode::SUCCESS;
33 return StatusCode::SUCCESS;
48 std::shared_ptr<HitCollectionMap> hitCollections) {
49 const EventContext& ctx = Gaudi::Hive::currentContext();
52 mcEventCollection, hitCollections));
53 return StatusCode::SUCCESS;
59 McEventCollection* mcEventCollection, std::shared_ptr<HitCollectionMap> hitCollections,
61 const EventContext& ctx = Gaudi::Hive::currentContext();
64 ctx, particles, secondaries, mcEventCollection, hitCollections, shadowTruth));
65 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Small wrapper around hit collection map to facilitate accessing the hit collection.
The generic ISF particle definition,.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
virtual StatusCode simulate(ISF::ISFParticle &isp, McEventCollection *mcEventCollection, std::shared_ptr< HitCollectionMap >) override
Simulation Call.
Geant4SimSvc()
Default constructor.
virtual StatusCode initialize() override
Athena algorithm's interface methods.
virtual ~Geant4SimSvc()
Destructor.
virtual StatusCode releaseEvent() override
Release Event chain - in case of an end-of event action is needed.
PublicToolHandle< ISF::ISimulatorTool > m_simulatorTool
virtual StatusCode finalize() override
framework methods
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.
virtual StatusCode setupEvent() override
Setup Event chain - in case of a begin-of event action is needed.
ISF::BaseSimulatorG4Tool * m_simulatorG4Tool
pointer to the downcasted G4 simulator tool
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.