ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ISF::BaseSimulationSelector Class Reference

#include <BaseSimulationSelector.h>

Inheritance diagram for ISF::BaseSimulationSelector:
Collaboration diagram for ISF::BaseSimulationSelector:

Public Member Functions

 BaseSimulationSelector (const std::string &t, const std::string &n, const IInterface *p)
 Constructor with parameters. More...
 
virtual ~BaseSimulationSelector ()
 virtual destructor More...
 
virtual StatusCode sysInitialize () override
 Gaudi sysInitialize() method. More...
 
virtual ServiceHandle< ISimulationSvc > *simulator ATLAS_NOT_THREAD_SAFE () override
 return a handle on the simulator More...
 
virtual bool isDynamic () override
 return if is this a static or dynamic SimulationSelector (is used by fully dynamic particle routers) More...
 
virtual SimSvcID simSvcID ATLAS_NOT_THREAD_SAFE () override
 return the simulation service ID More...
 
virtual ISF::SimulationFlavor simFlavor () const override
 return the simulation flavor More...
 
virtual void initializeSelector () override
 initialize Selector More...
 
virtual void beginEvent ATLAS_NOT_THREAD_SAFE () override
 called at the beginning of each athena event (can be used for eg. More...
 
virtual void endEvent ATLAS_NOT_THREAD_SAFE () override
 called at the end of each athena event (can be used for eg. More...
 
virtual void update ATLAS_NOT_THREAD_SAFE (const ISFParticle &) override
 update internal event representation More...
 
virtual bool selfSelect (const ISFParticle &particle) const override
 make the routing decision More...
 

Private Member Functions

void SimulationFlavorHandler (Gaudi::Details::PropertyBase &)
 

Private Attributes

ServiceHandle< ISimulationSvcm_simulator
 simulation service assigned to a single advisor More...
 
bool m_isDynamic
 this selector is either dynamic or static More...
 
bool m_invertCuts
 invert the result given by passesCuts(..) method More...
 
Gaudi::CheckedProperty< unsigned short > m_simFlavorProp {0}
 the simulation flavour that this selector will select More...
 
ISF::SimulationFlavor m_simflavor {ISF::UndefinedSim}
 simulation flavor More...
 

Detailed Description

Author
Elmar.Ritsch -at- cern.ch , Peter.Sherwood -at- cern.ch

Definition at line 31 of file BaseSimulationSelector.h.

Constructor & Destructor Documentation

◆ BaseSimulationSelector()

ISF::BaseSimulationSelector::BaseSimulationSelector ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Constructor with parameters.

Definition at line 12 of file BaseSimulationSelector.cxx.

12  :
13  base_class(type, name, parent),
14  m_simulator("", name),
15  m_isDynamic(false),
16  m_invertCuts(false)
17 {
18  declareProperty("Simulator", m_simulator );
19  declareProperty("IsDynamic", m_isDynamic );
20  declareProperty("InvertCuts", m_invertCuts );
21  declareProperty("SimulationFlavor", m_simFlavorProp);
22  m_simFlavorProp.verifier().setLower(ISF::UndefinedSim+1);
23  m_simFlavorProp.verifier().setUpper(ISF::NFlavors-1);
25 }

◆ ~BaseSimulationSelector()

ISF::BaseSimulationSelector::~BaseSimulationSelector ( )
virtual

virtual destructor

Definition at line 57 of file BaseSimulationSelector.cxx.

57 { }

Member Function Documentation

◆ ATLAS_NOT_THREAD_SAFE() [1/5]

virtual ServiceHandle<ISimulationSvc>* simulator ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE ( )
overridevirtual

return a handle on the simulator

◆ ATLAS_NOT_THREAD_SAFE() [2/5]

virtual SimSvcID simSvcID ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE ( )
overridevirtual

return the simulation service ID

◆ ATLAS_NOT_THREAD_SAFE() [3/5]

virtual void beginEvent ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE ( )
overridevirtual

called at the beginning of each athena event (can be used for eg.

resetting dynamic selectors)

◆ ATLAS_NOT_THREAD_SAFE() [4/5]

virtual void endEvent ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE ( )
overridevirtual

called at the end of each athena event (can be used for eg.

resetting dynamic selectors)

◆ ATLAS_NOT_THREAD_SAFE() [5/5]

virtual void update ISF::BaseSimulationSelector::ATLAS_NOT_THREAD_SAFE ( const ISFParticle )
overridevirtual

update internal event representation

◆ initializeSelector()

void ISF::BaseSimulationSelector::initializeSelector ( )
overridevirtual

initialize Selector

Definition at line 91 of file BaseSimulationSelector.cxx.

91 { }

◆ isDynamic()

bool ISF::BaseSimulationSelector::isDynamic ( )
overridevirtual

return if is this a static or dynamic SimulationSelector (is used by fully dynamic particle routers)

return if is this a static or dynamic SimulationSelector (is used by fully dynamic partilce routers)

Definition at line 76 of file BaseSimulationSelector.cxx.

76  {
77  return m_isDynamic;
78 }

◆ selfSelect()

bool ISF::BaseSimulationSelector::selfSelect ( const ISFParticle particle) const
overridevirtual

make the routing decision

Definition at line 61 of file BaseSimulationSelector.cxx.

62 {
63  bool pass = passSelectorCuts(particle);
64  pass = ( m_invertCuts ? (!pass) : pass );
65 
66  return pass;
67 }

◆ simFlavor()

ISF::SimulationFlavor ISF::BaseSimulationSelector::simFlavor ( ) const
overridevirtual

return the simulation flavor

return the simulation service ID

Definition at line 86 of file BaseSimulationSelector.cxx.

86  {
87  return m_simflavor;
88 }

◆ SimulationFlavorHandler()

void ISF::BaseSimulationSelector::SimulationFlavorHandler ( Gaudi::Details::PropertyBase &  )
private

Definition at line 27 of file BaseSimulationSelector.cxx.

28 {
29  // FIXME would probably be better to have this in SimulationFlavor.h
30  switch(m_simFlavorProp.value())
31  {
32  case 1: m_simflavor = ISF::ParticleKiller; break;
33  case 2: m_simflavor = ISF::Fatras; break;
34  case 3: m_simflavor = ISF::Geant4; break;
35  case 4: m_simflavor = ISF::FastCaloSim; break;
36  case 5: m_simflavor = ISF::FastCaloSimV2; break;
37  case 6: m_simflavor = ISF::Parametric; break;
38  case 7: m_simflavor = ISF::FatrasPileup; break;
39  case 8: m_simflavor = ISF::FastCaloSimPileup; break;
40  }
41 }

◆ sysInitialize()

StatusCode ISF::BaseSimulationSelector::sysInitialize ( )
overridevirtual

Gaudi sysInitialize() method.

Definition at line 44 of file BaseSimulationSelector.cxx.

45 {
47 
48  if (!m_simulator.empty()) {
49  ATH_CHECK( m_simulator.retrieve() );
50  }
51 
52  return StatusCode::SUCCESS;
53 }

Member Data Documentation

◆ m_invertCuts

bool ISF::BaseSimulationSelector::m_invertCuts
private

invert the result given by passesCuts(..) method

Definition at line 75 of file BaseSimulationSelector.h.

◆ m_isDynamic

bool ISF::BaseSimulationSelector::m_isDynamic
private

this selector is either dynamic or static

Definition at line 74 of file BaseSimulationSelector.h.

◆ m_simflavor

ISF::SimulationFlavor ISF::BaseSimulationSelector::m_simflavor {ISF::UndefinedSim}
private

simulation flavor

Definition at line 78 of file BaseSimulationSelector.h.

◆ m_simFlavorProp

Gaudi::CheckedProperty<unsigned short> ISF::BaseSimulationSelector::m_simFlavorProp {0}
private

the simulation flavour that this selector will select

Definition at line 76 of file BaseSimulationSelector.h.

◆ m_simulator

ServiceHandle<ISimulationSvc> ISF::BaseSimulationSelector::m_simulator
private

simulation service assigned to a single advisor

Definition at line 73 of file BaseSimulationSelector.h.


The documentation for this class was generated from the following files:
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
ISF::BaseSimulationSelector::m_simflavor
ISF::SimulationFlavor m_simflavor
simulation flavor
Definition: BaseSimulationSelector.h:78
ISF::NFlavors
@ NFlavors
Definition: SimulationFlavor.h:29
ISF::ParticleKiller
@ ParticleKiller
Definition: SimulationFlavor.h:21
ISF::BaseSimulationSelector::m_simulator
ServiceHandle< ISimulationSvc > m_simulator
simulation service assigned to a single advisor
Definition: BaseSimulationSelector.h:73
ISF::BaseSimulationSelector::m_simFlavorProp
Gaudi::CheckedProperty< unsigned short > m_simFlavorProp
the simulation flavour that this selector will select
Definition: BaseSimulationSelector.h:76
ISF::BaseSimulationSelector::SimulationFlavorHandler
void SimulationFlavorHandler(Gaudi::Details::PropertyBase &)
Definition: BaseSimulationSelector.cxx:27
ISF::FastCaloSimV2
@ FastCaloSimV2
Definition: SimulationFlavor.h:25
ISF::FatrasPileup
@ FatrasPileup
Definition: SimulationFlavor.h:27
ISF::Geant4
@ Geant4
Definition: SimulationFlavor.h:23
ISF::BaseSimulationSelector::m_invertCuts
bool m_invertCuts
invert the result given by passesCuts(..) method
Definition: BaseSimulationSelector.h:75
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ISF::FastCaloSimPileup
@ FastCaloSimPileup
Definition: SimulationFlavor.h:28
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize
virtual StatusCode sysInitialize() override
Perform system initialization for an algorithm.
ISF::UndefinedSim
@ UndefinedSim
Definition: SimulationFlavor.h:20
ISF::Fatras
@ Fatras
Definition: SimulationFlavor.h:22
ISF::BaseSimulationSelector::m_isDynamic
bool m_isDynamic
this selector is either dynamic or static
Definition: BaseSimulationSelector.h:74
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
ISF::Parametric
@ Parametric
Definition: SimulationFlavor.h:26
ISF::FastCaloSim
@ FastCaloSim
Definition: SimulationFlavor.h:24