5#ifndef ISF_BASESIMULATIONG4SVC_H
6#define ISF_BASESIMULATIONG4SVC_H 1
14#include <GaudiKernel/StatusCode.h>
43 std::shared_ptr<HitCollectionMap>) = 0;
54 std::shared_ptr<HitCollectionMap> hitCollections,
58 StatusCode
sc = StatusCode::SUCCESS;
62 <<
"Starting simulation of particle: " << part);
63 if (this->
simulate(*part, mcEventCollection, hitCollections).isFailure()) {
67 <<
" -> particle : " << *part);
68 sc = StatusCode::FAILURE;
78 return StatusCode::FAILURE;
82 virtual StatusCode
setupEvent()
override {
return StatusCode::FAILURE; }
85 virtual StatusCode
releaseEvent()
override {
return StatusCode::FAILURE; }
91 return StatusCode::FAILURE;
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Small wrapper around hit collection map to facilitate accessing the hit collection.
Base class for an ISimulatorSvc which requires a Geant4 UserInfo object.
virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection *mcEventCollection, std::shared_ptr< HitCollectionMap > hitCollections, McEventCollection *)
Simulation call for vectors of particles.
virtual StatusCode simulate(ISFParticle &, McEventCollection *, std::shared_ptr< HitCollectionMap >)=0
Simulation call for individual particles.
virtual StatusCode releaseEvent() override
Release Event chain - in case of an end-of event action is needed.
virtual StatusCode setupEvent(HitCollectionMap &)=0
Setup Event chain - in case of a begin-of event action is needed.
virtual ~BaseSimulationG4Svc()=default
Destructor.
virtual StatusCode simulateVector(const ISFParticleVector &, McEventCollection *, McEventCollection *) override
Simulation call for vectors of particles.
virtual StatusCode simulate(ISFParticle &, McEventCollection *) override
Simulation call for individual particles.
virtual StatusCode setupEvent() override
Setup Event chain - in case of a begin-of event action is needed.
virtual StatusCode releaseEvent(HitCollectionMap &)=0
Release Event chain - in case of an end-of event action is needed.
Concrete base class for all simulation services.
Gaudi::Property< std::string > m_screenOutputPrefix
Screen output refinement.
BaseSimulationSvc(const std::string &name, ISvcLocator *pSvcLocator)
const std::string & simSvcDescriptor() override
Return the simulation service descriptor.
The generic ISF particle definition,.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.