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"
15
16// ISF includes
18#include "ISF_Event/SimSvcID.h"
19
21
23
24namespace ISF {
25
26 class ISFParticle;
27 class IParticleBroker;
28
37 class ATLAS_NOT_THREAD_SAFE ISimulationSvc : virtual public IInterface {
38
40 // Public methods:
42 public:
44
47
49 virtual StatusCode setParticleBroker( IParticleBroker *broker) = 0;
50
52 virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection* mcEventCollection, McEventCollection *shadowTruth=nullptr) = 0;
53
55 virtual StatusCode simulate(ISFParticle& isp, McEventCollection* mcEventCollection) = 0;
56
58 virtual const std::string& simSvcDescriptor() = 0;
59
62 virtual StatusCode setupEvent() = 0;
63
66 virtual StatusCode releaseEvent() = 0;
67
69 inline void assignSimSvcID(SimSvcID id);
70
72 inline SimSvcID simSvcID();
73
74 private:
76 };
77
81
82}
83
84#endif //> !ISF_INTERFACES_ISIMULATIONSVC_H
defines and typedefs for IOVSvc
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.