ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_Core
ISF_Interfaces
ISF_Interfaces
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
16
#include "
ISF_Event/ISFParticleContainer.h
"
17
#include "
ISF_Event/SimSvcID.h
"
18
19
#include "
CxxUtils/checker_macros.h
"
20
21
class
McEventCollection
;
22
23
namespace
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
:
42
ISimulationSvc
() { };
43
45
DeclareInterfaceID
(
ISimulationSvc
, 1, 0);
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
:
74
SimSvcID
m_ssvcID
{
ISF::fUndefinedSimID
};
75
};
76
78
inline
void
ISimulationSvc::assignSimSvcID
(
SimSvcID
id
) {
m_ssvcID
= id; }
79
inline
SimSvcID
ISimulationSvc::simSvcID
() {
return
m_ssvcID
; }
80
81
}
82
83
#endif
//> !ISF_INTERFACES_ISIMULATIONSVC_H
ISFParticleContainer.h
SimSvcID.h
checker_macros.h
Define macros for attributes used to control the static checker.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition
checker_macros.h:212
ISF::IParticleBroker
@ class IParticleBroker
Definition
IParticleBroker.h:39
ISF::ISFParticle
The generic ISF particle definition,.
Definition
ISFParticle.h:42
ISF::ISimulationSvc::setParticleBroker
virtual StatusCode setParticleBroker(IParticleBroker *broker)=0
Inform the SimulationSvc about the ParticleBroker.
ISF::ISimulationSvc::simSvcDescriptor
virtual const std::string & simSvcDescriptor()=0
Return the simulation service descriptor.
ISF::ISimulationSvc::DeclareInterfaceID
DeclareInterfaceID(ISimulationSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISF::ISimulationSvc::simSvcID
SimSvcID simSvcID()
Return the simulation service ID.
Definition
ISimulationSvc.h:79
ISF::ISimulationSvc::m_ssvcID
SimSvcID m_ssvcID
Definition
ISimulationSvc.h:74
ISF::ISimulationSvc::setupEvent
virtual StatusCode setupEvent()=0
Setup Event chain - in case of a begin-of event action is needed, to be called by simulation kernel.
ISF::ISimulationSvc::ISimulationSvc
ISimulationSvc()
Definition
ISimulationSvc.h:42
ISF::ISimulationSvc::assignSimSvcID
void assignSimSvcID(SimSvcID id)
Assign a simulation service ID.
Definition
ISimulationSvc.h:78
ISF::ISimulationSvc::simulate
virtual StatusCode simulate(ISFParticle &isp, McEventCollection *mcEventCollection)=0
Simulation call for individual particles.
ISF::ISimulationSvc::simulateVector
virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection *mcEventCollection, McEventCollection *shadowTruth=nullptr)=0
Simulation call for vectors of particles.
ISF::ISimulationSvc::releaseEvent
virtual StatusCode releaseEvent()=0
Release Event chain - in case of an end-of event action is needed, to be called by simulation kernel.
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
Definition
McEventCollection.h:31
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
ISF::fUndefinedSimID
@ fUndefinedSimID
Definition
SimSvcID.h:32
ISF::SimSvcID
uint8_t SimSvcID
Simulation service ID datatype.
Definition
SimSvcID.h:28
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition
ISFParticleContainer.h:26
Generated on
for ATLAS Offline Software by
1.17.0