ATLAS Offline Software
Loading...
Searching...
No Matches
ISimulationSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_INTERFACES_ISIMULATIONSVC_H
6#define ISF_INTERFACES_ISIMULATIONSVC_H 1
7
8// stl includes
9#include <string>
10
11// Framework includes
12#include "GaudiKernel/IInterface.h"
13#include "GaudiKernel/StatusCode.h"
14
15// ISF includes
17#include "ISF_Event/SimSvcID.h"
18
20
22
23namespace ISF {
24
25 class ISFParticle;
26 class IParticleBroker;
27
36 class ATLAS_NOT_THREAD_SAFE ISimulationSvc : virtual public IInterface {
37
39 // Public methods:
41 public:
43
46
48 virtual StatusCode setParticleBroker( IParticleBroker *broker) = 0;
49
51 virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection* mcEventCollection, McEventCollection *shadowTruth=nullptr) = 0;
52
54 virtual StatusCode simulate(ISFParticle& isp, McEventCollection* mcEventCollection) = 0;
55
57 virtual const std::string& simSvcDescriptor() = 0;
58
61 virtual StatusCode setupEvent() = 0;
62
65 virtual StatusCode releaseEvent() = 0;
66
68 inline void assignSimSvcID(SimSvcID id);
69
71 inline SimSvcID simSvcID();
72
73 private:
75 };
76
80
81}
82
83#endif //> !ISF_INTERFACES_ISIMULATIONSVC_H
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
@ class IParticleBroker
The generic ISF particle definition,.
Definition ISFParticle.h:42
virtual StatusCode setParticleBroker(IParticleBroker *broker)=0
Inform the SimulationSvc about the ParticleBroker.
virtual const std::string & simSvcDescriptor()=0
Return the simulation service descriptor.
DeclareInterfaceID(ISimulationSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
SimSvcID simSvcID()
Return the simulation service ID.
virtual StatusCode setupEvent()=0
Setup Event chain - in case of a begin-of event action is needed, to be called by simulation kernel.
void assignSimSvcID(SimSvcID id)
Assign a simulation service ID.
virtual StatusCode simulate(ISFParticle &isp, McEventCollection *mcEventCollection)=0
Simulation call for individual particles.
virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection *mcEventCollection, McEventCollection *shadowTruth=nullptr)=0
Simulation call for vectors of particles.
virtual StatusCode releaseEvent()=0
Release Event chain - in case of an end-of event action is needed, to be called by simulation kernel.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
ISFParticleOrderedQueue.
@ fUndefinedSimID
Definition SimSvcID.h:32
uint8_t SimSvcID
Simulation service ID datatype.
Definition SimSvcID.h:28
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.