ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_SimulationSelectors
src
BaseSimulationSelector.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H
6
#define ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H 1
7
8
// ISF includes
9
#include "
ISF_Interfaces/ISimulationSelector.h
"
10
#include "
ISF_Interfaces/ISimulationSvc.h
"
11
#include "
ISF_Interfaces/SimulationFlavor.h
"
12
13
14
// Gaudi & Athena basics
15
#include "GaudiKernel/ServiceHandle.h"
16
#include "
AthenaBaseComps/AthAlgTool.h
"
17
18
#include "
CxxUtils/checker_macros.h
"
19
20
21
namespace
ISF
{
22
23
class
ISFParticle
;
24
30
31
class
BaseSimulationSelector
:
public
extends<AthAlgTool, ISimulationSelector> {
32
public
:
34
BaseSimulationSelector
(
const
std::string& t,
const
std::string& n,
const
IInterface* p );
35
37
virtual
~BaseSimulationSelector
();
38
40
virtual
StatusCode
sysInitialize
()
override
;
41
43
virtual
ServiceHandle<ISimulationSvc>
* simulator
ATLAS_NOT_THREAD_SAFE
()
override
;
44
47
virtual
bool
isDynamic
()
override
;
48
50
virtual
SimSvcID
simSvcID
ATLAS_NOT_THREAD_SAFE
()
override
;
51
53
virtual
ISF::SimulationFlavor
simFlavor
()
const override
;
54
56
virtual
void
initializeSelector
()
override
;
57
60
virtual
void
beginEvent
ATLAS_NOT_THREAD_SAFE
()
override
;
61
64
virtual
void
endEvent
ATLAS_NOT_THREAD_SAFE
()
override
;
65
67
virtual
void
update
ATLAS_NOT_THREAD_SAFE
(
const
ISFParticle
& )
override
;
68
70
virtual
bool
selfSelect
(
const
ISFParticle
& particle)
const override
;
71
72
private
:
73
ServiceHandle<ISimulationSvc>
m_simulator
{
this
,
"Simulator"
,
""
,
"simulation service assigned to a single advisor"
};
74
Gaudi::Property<bool>
m_isDynamic
{
this
,
"IsDynamic"
,
false
,
"this selector is either dynamic or static"
};
75
Gaudi::Property<bool>
m_invertCuts
{
this
,
"InvertCuts"
,
false
,
"invert the result given by passesCuts(..) method"
};
76
Gaudi::CheckedProperty<unsigned short>
m_simFlavorProp
{
this
,
"SimulationFlavor"
, 0,
"the simulation flavour that this selector will select"
};
77
void
SimulationFlavorHandler
(Gaudi::Details::PropertyBase&);
78
ISF::SimulationFlavor
m_simflavor
{
ISF::UndefinedSim
};
79
};
80
81
82
}
// end of namespace
83
84
85
#endif
// ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H
AthAlgTool.h
ISimulationSelector.h
ISimulationSvc.h
SimulationFlavor.h
checker_macros.h
Define macros for attributes used to control the static checker.
ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void update ATLAS_NOT_THREAD_SAFE(const ISFParticle &) override
update internal event representation
ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void endEvent ATLAS_NOT_THREAD_SAFE() override
called at the end of each athena event (can be used for eg.
ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual SimSvcID simSvcID ATLAS_NOT_THREAD_SAFE() override
return the simulation service ID
ISF::BaseSimulationSelector::isDynamic
virtual bool isDynamic() override
return if is this a static or dynamic SimulationSelector (is used by fully dynamic particle routers)
Definition
BaseSimulationSelector.cxx:69
ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual ServiceHandle< ISimulationSvc > *simulator ATLAS_NOT_THREAD_SAFE() override
return a handle on the simulator
ISF::BaseSimulationSelector::m_invertCuts
Gaudi::Property< bool > m_invertCuts
Definition
BaseSimulationSelector.h:75
ISF::BaseSimulationSelector::m_simFlavorProp
Gaudi::CheckedProperty< unsigned short > m_simFlavorProp
Definition
BaseSimulationSelector.h:76
ISF::BaseSimulationSelector::m_simulator
ServiceHandle< ISimulationSvc > m_simulator
Definition
BaseSimulationSelector.h:73
ISF::BaseSimulationSelector::m_isDynamic
Gaudi::Property< bool > m_isDynamic
Definition
BaseSimulationSelector.h:74
ISF::BaseSimulationSelector::m_simflavor
ISF::SimulationFlavor m_simflavor
simulation flavor
Definition
BaseSimulationSelector.h:78
ISF::BaseSimulationSelector::selfSelect
virtual bool selfSelect(const ISFParticle &particle) const override
make the routing decision
Definition
BaseSimulationSelector.cxx:54
ISF::BaseSimulationSelector::simFlavor
virtual ISF::SimulationFlavor simFlavor() const override
return the simulation flavor
Definition
BaseSimulationSelector.cxx:79
ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void beginEvent ATLAS_NOT_THREAD_SAFE() override
called at the beginning of each athena event (can be used for eg.
ISF::BaseSimulationSelector::initializeSelector
virtual void initializeSelector() override
initialize Selector
Definition
BaseSimulationSelector.cxx:84
ISF::BaseSimulationSelector::SimulationFlavorHandler
void SimulationFlavorHandler(Gaudi::Details::PropertyBase &)
Definition
BaseSimulationSelector.cxx:20
ISF::BaseSimulationSelector::sysInitialize
virtual StatusCode sysInitialize() override
Gaudi sysInitialize() method.
Definition
BaseSimulationSelector.cxx:37
ISF::BaseSimulationSelector::~BaseSimulationSelector
virtual ~BaseSimulationSelector()
virtual destructor
Definition
BaseSimulationSelector.cxx:50
ISF::BaseSimulationSelector::BaseSimulationSelector
BaseSimulationSelector(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition
BaseSimulationSelector.cxx:12
ISF::ISFParticle
The generic ISF particle definition,.
Definition
ISFParticle.h:42
ServiceHandle
Definition
ClusterMakerTool.h:36
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
ISF::SimulationFlavor
int SimulationFlavor
Identifier type for simulation flavor.
Definition
SimulationFlavor.h:16
ISF::UndefinedSim
@ UndefinedSim
Definition
SimulationFlavor.h:20
ISF::SimSvcID
uint8_t SimSvcID
Simulation service ID datatype.
Definition
SimSvcID.h:28
Generated on
for ATLAS Offline Software by
1.17.0