ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_Core
ISF_Interfaces
ISF_Interfaces
IParticleBroker.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
// IParticleBroker.h, (c) ATLAS Detector software
8
#ifndef ISF_INTERFACES_IPARTICLEBROKER_H
9
#define ISF_INTERFACES_IPARTICLEBROKER_H 1
10
11
// Framework includes
12
#include "GaudiKernel/IInterface.h"
13
#include "GaudiKernel/StatusCode.h"
14
#include "GaudiKernel/ToolHandle.h"
15
#include "GaudiKernel/ServiceHandle.h"
16
17
// DetectorDescription
18
#include "
AtlasDetDescr/AtlasRegion.h
"
19
20
// ISF includes
21
#include "
ISF_Event/SimSvcID.h
"
22
#include "
ISF_Event/ISFParticleContainer.h
"
23
#include "
ISF_Event/EntryLayer.h
"
24
#include "
ISF_Interfaces/ISimulationSelector.h
"
25
26
#include "
CxxUtils/checker_macros.h
"
27
28
namespace
ISF
{
29
30
class
ISFParticle
;
31
class
IStackFiller;
32
39
class
ATLAS_NOT_THREAD_SAFE
IParticleBroker
:
virtual
public
IInterface {
40
42
// Public methods:
44
public
:
45
47
DeclareInterfaceID
(
IParticleBroker
, 1, 0);
48
50
virtual
StatusCode
registerSimSelector
(
SimSelectorToolArray
&simSelectorTools,
AtlasDetDescr::AtlasRegion
geoID) = 0;
51
53
virtual
StatusCode
initializeEvent
(
ISFParticleContainer
&& simParticles) = 0;
54
56
virtual
StatusCode
finalizeEvent
() = 0;
57
59
virtual
void
push
(
ISFParticle
*particle,
const
ISFParticle
*parent) = 0;
60
62
virtual
const
ISFParticleVector
&
popVector
(
size_t
maxVectorSize=10240) = 0;
63
65
virtual
size_t
numParticles
()
const
= 0;
66
67
/* Dump the stack to the screen */
68
virtual
StatusCode
dump
()
const
= 0;
69
};
70
}
71
72
#endif
//> !ISF_INTERFACES_IPARTICLEBROKER_H
73
AtlasRegion.h
EntryLayer.h
ISFParticleContainer.h
ISimulationSelector.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::IParticleBroker::push
virtual void push(ISFParticle *particle, const ISFParticle *parent)=0
hand a new ISF particle to the broker
ISF::IParticleBroker::DeclareInterfaceID
DeclareInterfaceID(IParticleBroker, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISF::IParticleBroker::popVector
virtual const ISFParticleVector & popVector(size_t maxVectorSize=10240)=0
Get vectors of ISF particles from the broker.
ISF::IParticleBroker::initializeEvent
virtual StatusCode initializeEvent(ISFParticleContainer &&simParticles)=0
Initialize the broker.
ISF::IParticleBroker::dump
virtual StatusCode dump() const =0
ISF::IParticleBroker::numParticles
virtual size_t numParticles() const =0
Get the current number of particles stored.
ISF::IParticleBroker::registerSimSelector
virtual StatusCode registerSimSelector(SimSelectorToolArray &simSelectorTools, AtlasDetDescr::AtlasRegion geoID)=0
Register an array of SimulationSelectors.
ISF::IParticleBroker::finalizeEvent
virtual StatusCode finalizeEvent()=0
Finalize the event in the broker service.
ISF::ISFParticle
The generic ISF particle definition,.
Definition
ISFParticle.h:42
AtlasDetDescr::AtlasRegion
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.
Definition
AtlasRegion.h:21
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
ISF::SimSelectorToolArray
ToolHandleArray< ISimulationSelector > SimSelectorToolArray
typedef for better readable code
Definition
ISimulationSelector.h:76
ISF::ISFParticleContainer
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)
Definition
ISFParticleContainer.h:23
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition
ISFParticleContainer.h:26
Generated on
for ATLAS Offline Software by
1.17.0