ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_SimulationSelectors
src
BaseSimulationSelector.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
BaseSimulationSelector.h
"
6
7
#include "
ISF_Interfaces/SimulationFlavor.h
"
8
#include "
ISF_Event/ISFParticle.h
"
9
10
12
ISF::BaseSimulationSelector::BaseSimulationSelector
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent) :
13
base_class(
type
, name, parent)
14
{
15
m_simFlavorProp
.verifier().setLower(
ISF::UndefinedSim
+1);
16
m_simFlavorProp
.verifier().setUpper(
ISF::NFlavors
-1);
17
m_simFlavorProp
.declareUpdateHandler(&
ISF::BaseSimulationSelector::SimulationFlavorHandler
,
this
);
18
}
19
20
void
ISF::BaseSimulationSelector::SimulationFlavorHandler
(Gaudi::Details::PropertyBase&)
21
{
22
// FIXME would probably be better to have this in SimulationFlavor.h
23
switch
(
m_simFlavorProp
.value())
24
{
25
case
1:
m_simflavor
=
ISF::ParticleKiller
;
break
;
26
case
2:
m_simflavor
=
ISF::Fatras
;
break
;
27
case
3:
m_simflavor
=
ISF::Geant4
;
break
;
28
case
4:
m_simflavor
=
ISF::FastCaloSim
;
break
;
29
case
5:
m_simflavor
=
ISF::FastCaloSimV2
;
break
;
30
case
6:
m_simflavor
=
ISF::Parametric
;
break
;
31
case
7:
m_simflavor
=
ISF::FatrasPileup
;
break
;
32
case
8:
m_simflavor
=
ISF::FastCaloSimPileup
;
break
;
33
}
34
}
35
37
StatusCode
ISF::BaseSimulationSelector::sysInitialize
()
38
{
39
ATH_CHECK
(
AthAlgTool::sysInitialize
() );
40
41
if
(!
m_simulator
.empty()) {
42
ATH_CHECK
(
m_simulator
.retrieve() );
43
}
44
45
return
StatusCode::SUCCESS;
46
}
47
48
50
ISF::BaseSimulationSelector::~BaseSimulationSelector
() { }
51
53
bool
54
ISF::BaseSimulationSelector::selfSelect
(
const
ISFParticle
& particle)
const
55
{
56
bool
pass = passSelectorCuts(particle);
57
pass = (
m_invertCuts
? (!pass) : pass );
58
59
return
pass;
60
}
61
63
ServiceHandle<ISF::ISimulationSvc>
* ISF::BaseSimulationSelector::simulator
ATLAS_NOT_THREAD_SAFE
() {
64
return
&m_simulator;
65
}
66
69
bool
ISF::BaseSimulationSelector::isDynamic
() {
70
return
m_isDynamic
;
71
}
72
74
ISF::SimSvcID
ISF::BaseSimulationSelector::simSvcID
ATLAS_NOT_THREAD_SAFE
() {
75
return
m_simulator->simSvcID();
76
}
77
79
ISF::SimulationFlavor
ISF::BaseSimulationSelector::simFlavor
()
const
{
80
return
m_simflavor
;
81
}
82
84
void
ISF::BaseSimulationSelector::initializeSelector
() { }
85
88
void
ISF::BaseSimulationSelector::beginEvent
ATLAS_NOT_THREAD_SAFE
() { }
89
92
void
ISF::BaseSimulationSelector::endEvent
ATLAS_NOT_THREAD_SAFE
() { }
93
95
void
ISF::BaseSimulationSelector::update
ATLAS_NOT_THREAD_SAFE
(
const
ISFParticle& ) { }
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
BaseSimulationSelector.h
ISFParticle.h
SimulationFlavor.h
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize
virtual StatusCode sysInitialize() override
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::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::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::SimulationFlavor
int SimulationFlavor
Identifier type for simulation flavor.
Definition
SimulationFlavor.h:16
ISF::Parametric
@ Parametric
Definition
SimulationFlavor.h:26
ISF::Geant4
@ Geant4
Definition
SimulationFlavor.h:23
ISF::NFlavors
@ NFlavors
Definition
SimulationFlavor.h:29
ISF::FastCaloSimPileup
@ FastCaloSimPileup
Definition
SimulationFlavor.h:28
ISF::ParticleKiller
@ ParticleKiller
Definition
SimulationFlavor.h:21
ISF::FatrasPileup
@ FatrasPileup
Definition
SimulationFlavor.h:27
ISF::Fatras
@ Fatras
Definition
SimulationFlavor.h:22
ISF::FastCaloSimV2
@ FastCaloSimV2
Definition
SimulationFlavor.h:25
ISF::FastCaloSim
@ FastCaloSim
Definition
SimulationFlavor.h:24
ISF::UndefinedSim
@ UndefinedSim
Definition
SimulationFlavor.h:20
ISF::SimSvcID
uint8_t SimSvcID
Simulation service ID datatype.
Definition
SimSvcID.h:28
type
Generated on
for ATLAS Offline Software by
1.17.0