ATLAS Offline Software
Loading...
Searching...
No Matches
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
19
20// ISF includes
21#include "ISF_Event/SimSvcID.h"
25
27
28namespace 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
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
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
@ class IParticleBroker
virtual void push(ISFParticle *particle, const ISFParticle *parent)=0
hand a new ISF particle to the broker
DeclareInterfaceID(IParticleBroker, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual const ISFParticleVector & popVector(size_t maxVectorSize=10240)=0
Get vectors of ISF particles from the broker.
virtual StatusCode initializeEvent(ISFParticleContainer &&simParticles)=0
Initialize the broker.
virtual StatusCode dump() const =0
virtual size_t numParticles() const =0
Get the current number of particles stored.
virtual StatusCode registerSimSelector(SimSelectorToolArray &simSelectorTools, AtlasDetDescr::AtlasRegion geoID)=0
Register an array of SimulationSelectors.
virtual StatusCode finalizeEvent()=0
Finalize the event in the broker service.
The generic ISF particle definition,.
Definition ISFParticle.h:42
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.
Definition AtlasRegion.h:21
ISFParticleOrderedQueue.
ToolHandleArray< ISimulationSelector > SimSelectorToolArray
typedef for better readable code
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.