ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_Core
ISF_Interfaces
ISF_Interfaces
ISimulationSelector.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ISimulationSelector.h, (c) ATLAS Detector software
8
9
#ifndef ISF_INTERFACES_ISIMULATIONSELECTOR_H
10
#define ISF_INTERFACES_ISIMULATIONSELECTOR_H 1
11
12
// Gaudi & Athena basics
13
#include "GaudiKernel/IAlgTool.h"
14
#include "GaudiKernel/ServiceHandle.h"
15
#include "GaudiKernel/ToolHandle.h"
// for ToolHandleArray
16
17
// ISF includes
18
#include "
ISF_Interfaces/ISimulationSvc.h
"
19
#include "
ISF_Interfaces/SimulationFlavor.h
"
20
21
#include "
CxxUtils/checker_macros.h
"
22
23
namespace
ISF
{
24
25
class
ISFParticle
;
26
32
33
class
ISimulationSelector
:
virtual
public
IAlgTool {
34
public
:
36
virtual
~ISimulationSelector
() {};
37
39
DeclareInterfaceID
(
ISimulationSelector
, 1, 0);
40
42
virtual
ServiceHandle<ISimulationSvc>
* simulator
ATLAS_NOT_THREAD_SAFE
() = 0;
43
46
virtual
bool
isDynamic
() = 0;
47
49
virtual
SimSvcID
simSvcID
ATLAS_NOT_THREAD_SAFE
() = 0;
50
52
virtual
ISF::SimulationFlavor
simFlavor
()
const
= 0;
53
55
virtual
void
initializeSelector
() = 0;
56
59
virtual
void
beginEvent
ATLAS_NOT_THREAD_SAFE
() = 0;
60
63
virtual
void
endEvent
ATLAS_NOT_THREAD_SAFE
() = 0;
64
66
virtual
void
update
ATLAS_NOT_THREAD_SAFE
(
const
ISFParticle
& ) = 0;
67
69
virtual
bool
selfSelect
(
const
ISFParticle
& particle)
const
= 0;
70
72
virtual
bool
passSelectorCuts
(
const
ISFParticle
& particle)
const
= 0;
73
};
74
76
typedef
ToolHandleArray<ISimulationSelector>
SimSelectorToolArray
;
77
78
}
// end of `ISF` namespace
79
80
#endif
// ISF_INTERFACES_ISIMULATIONSELECTOR_H
ISimulationSvc.h
SimulationFlavor.h
checker_macros.h
Define macros for attributes used to control the static checker.
ISF::ISFParticle
The generic ISF particle definition,.
Definition
ISFParticle.h:42
ISF::ISimulationSelector
Definition
ISimulationSelector.h:33
ISF::ISimulationSelector::~ISimulationSelector
virtual ~ISimulationSelector()
virtual destructor
Definition
ISimulationSelector.h:36
ISF::ISimulationSelector::selfSelect
virtual bool selfSelect(const ISFParticle &particle) const =0
make the routing decision
ISF::ISimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual ServiceHandle< ISimulationSvc > *simulator ATLAS_NOT_THREAD_SAFE()=0
return a handle on the simulator
ISF::ISimulationSelector::passSelectorCuts
virtual bool passSelectorCuts(const ISFParticle &particle) const =0
check whether given particle passes all cuts -> will be used for routing decision
ISF::ISimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void beginEvent ATLAS_NOT_THREAD_SAFE()=0
called at the beginning of each athena event (can be used for eg.
ISF::ISimulationSelector::simFlavor
virtual ISF::SimulationFlavor simFlavor() const =0
return the simulation flavor
ISF::ISimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void endEvent ATLAS_NOT_THREAD_SAFE()=0
called at the end of each athena event (can be used for eg.
ISF::ISimulationSelector::DeclareInterfaceID
DeclareInterfaceID(ISimulationSelector, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISF::ISimulationSelector::initializeSelector
virtual void initializeSelector()=0
initialize Selector
ISF::ISimulationSelector::isDynamic
virtual bool isDynamic()=0
return if is this a static or dynamic SimulationSelector (is used by fully dynamic partilce routers)
ISF::ISimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual SimSvcID simSvcID ATLAS_NOT_THREAD_SAFE()=0
return the simulation service ID
ISF::ISimulationSelector::ATLAS_NOT_THREAD_SAFE
virtual void update ATLAS_NOT_THREAD_SAFE(const ISFParticle &)=0
update internal event representation
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::SimSelectorToolArray
ToolHandleArray< ISimulationSelector > SimSelectorToolArray
typedef for better readable code
Definition
ISimulationSelector.h:76
ISF::SimSvcID
uint8_t SimSvcID
Simulation service ID datatype.
Definition
SimSvcID.h:28
Generated on
for ATLAS Offline Software by
1.17.0