Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EventSelectorAthenaPool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EVENTSELECTORATHENAPOOL_H
6 #define EVENTSELECTORATHENAPOOL_H
7 
13 #include "GaudiKernel/IEvtSelector.h"
14 #include "GaudiKernel/IIoComponent.h"
15 #include "GaudiKernel/IIncidentListener.h"
16 #include "GaudiKernel/ServiceHandle.h"
17 #include "GaudiKernel/ToolHandle.h"
19 #include "RootUtils/APRDefaults.h"
20 
29 
30 #include <map>
31 #include <atomic>
32 #include <cstdint>
33 
34 // Forward declarations
35 class IIncidentSvc;
36 class IOpaqueAddress;
37 class ISvcLocator;
40 class StoreGateSvc;
41 namespace pool {
42  class ICollectionCursor;
43 }
44 
49  public extends<::AthService, IEvtSelector, IEvtSelectorSeek, IEventShare, IIoComponent, IIncidentListener, ISecondaryEventSelector>
50 {
51 
52 public: // Constructor and Destructor
54  EventSelectorAthenaPool(const std::string& name, ISvcLocator* pSvcLocator);
56  virtual ~EventSelectorAthenaPool();
57 
59  virtual StatusCode initialize() override;
60  virtual StatusCode start() override;
61  virtual StatusCode stop() override;
62  virtual StatusCode finalize() override;
63 
64  //-------------------------------------------------
65  // IEventSelector
67  virtual StatusCode createContext(IEvtSelector::Context*& ctxt) const override;
68 
70  virtual StatusCode next(IEvtSelector::Context& ctxt) const override;
73  virtual StatusCode next(IEvtSelector::Context& ctxt, int jump) const override;
74 
76  virtual StatusCode previous(IEvtSelector::Context& ctxt) const override;
79  virtual StatusCode previous(IEvtSelector::Context& ctxt, int jump) const override;
80 
82  virtual StatusCode last(IEvtSelector::Context& ctxt) const override;
83 
85  virtual StatusCode rewind(IEvtSelector::Context& ctxt) const override;
86 
89  virtual StatusCode createAddress(const IEvtSelector::Context& ctxt, IOpaqueAddress*& iop) const override;
90 
92  virtual StatusCode releaseContext(IEvtSelector::Context*& ctxt) const override;
93 
97  virtual StatusCode resetCriteria(const std::string& criteria, IEvtSelector::Context& ctxt) const override;
98 
99  //-------------------------------------------------
100  // IEventSelectorSeek
104  virtual StatusCode seek(Context& ctxt, int evtnum) const override;
105 
108  virtual int curEvent (const Context& ctxt) const override;
109 
112  virtual int size (Context& ctxt) const override;
113 
114  //-------------------------------------------------
115  // IEventShare
117  virtual StatusCode makeServer(int num) override;
118 
120  virtual StatusCode makeClient(int num) override;
121 
124  virtual StatusCode share(int evtnum) override;
125 
128  virtual StatusCode readEvent(int maxevt) override;
129 
130  //-------------------------------------------------
131  // IIoComponent
133  virtual StatusCode io_reinit() override;
135  virtual StatusCode io_finalize() override;
136 
137  //-------------------------------------------------
138  // IIncidentListener
140  virtual void handle(const Incident& incident) override;
141 
142 protected:
143  //-------------------------------------------------
144  // ISecondaryEventSelector
146  virtual StatusCode nextHandleFileTransition(IEvtSelector::Context& ctxt) const override;
148  virtual StatusCode nextWithSkip(IEvtSelector::Context& ctxt) const override;
150  virtual StatusCode recordAttributeList() const override;
152  virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override;
153  // Disconnect DB if all events from the source FID were processed and the Selector moved to another file
154  virtual bool disconnectIfFinished(const SG::SourceID &fid) const override;
155 
156 private: // internal member functions
158  StoreGateSvc* eventStore() const;
160  StatusCode reinit() const;
162  PoolCollectionConverter* getCollectionCnv(bool throwIncidents = false) const;
164  int findEvent(int evtNum) const;
166  void fireEndFileIncidents(bool isLastFile) const;
167 
168 private: // data
170 
171 
172  mutable PoolCollectionConverter* m_poolCollectionConverter ATLAS_THREAD_SAFE {};
173  mutable pool::ICollectionCursor* m_headerIterator ATLAS_THREAD_SAFE {};
174  mutable Guid m_guid ATLAS_THREAD_SAFE {};
175  mutable std::map<SG::SourceID, int> m_activeEventsPerSource ATLAS_THREAD_SAFE;
176 
177  ServiceHandle<IAthenaPoolCnvSvc> m_athenaPoolCnvSvc{this, "AthenaPoolCnvSvc", "AthenaPoolCnvSvc", ""};
178  ServiceHandle<IIncidentSvc> m_incidentSvc{this, "IncidentSvc", "IncidentSvc", ""};
179 
180 private: // properties
182  Gaudi::Property<bool> m_isSecondary{this, "IsSecondary", false, ""};
184  Gaudi::Property<bool> m_processMetadata{this, "ProcessMetadata", true, ""};
186  Gaudi::Property<std::string> m_collectionType{this, "CollectionType", "ImplicitROOT", ""};
188  Gaudi::Property<std::string> m_collectionTree{this, "CollectionTree", APRDefaults::TTreeNames::DataHeader, ""};
190  // TODO: check if really not used anywhere
191  Gaudi::Property<std::string> m_connection{this, "Connection", "", ""};
193  Gaudi::Property<std::string> m_attrListKey{this, "AttributeListKey", "Input", ""};
194 
196  Gaudi::Property<std::vector<std::string>> m_inputCollectionsProp{this, "InputCollections", {}, ""};
197  mutable std::vector<std::string>::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE;
198  void inputCollectionsHandler(Gaudi::Details::PropertyBase&);
200  mutable bool m_inputCollectionsChanged ATLAS_THREAD_SAFE;
201 
204  Gaudi::Property<bool> m_keepInputFilesOpen{this, "KeepInputFilesOpen", false, ""};
205 
207  mutable ToolHandleArray<IAthenaSelectorTool> m_helperTools ATLAS_THREAD_SAFE {this};
208  ToolHandle<IAthenaSelectorTool> m_counterTool{this, "CounterTool", "", ""};
209  ToolHandle<IAthenaIPCTool> m_eventStreamingTool{this, "SharedMemoryTool", "", ""};
211  IntegerProperty m_makeStreamingToolClient{this,"MakeStreamingToolClient",0};
212 
216  Gaudi::CheckedProperty<uint32_t> m_runNo{this, "RunNumber", 0, ""};
217  Gaudi::CheckedProperty<uint32_t> m_oldRunNo{this, "OldRunNumber", 0, ""};
218  Gaudi::Property<bool> m_overrideRunNumber{this, "OverrideRunNumber", false, ""};
219  Gaudi::Property<bool> m_overrideRunNumberFromInput{this, "OverrideRunNumberFromInput", false, ""};
220  // TODO: check if not really used
221  Gaudi::CheckedProperty<uint64_t> m_firstEventNo{this, "FirstEvent", 1, ""};
222  // TODO: check if not really used
223  Gaudi::CheckedProperty<uint64_t> m_eventsPerRun{this, "EventsPerRun", 1000000, ""};
224  Gaudi::CheckedProperty<uint32_t> m_firstLBNo{this, "FirstLB", 0, ""};
225  Gaudi::CheckedProperty<uint32_t> m_eventsPerLB{this, "EventsPerLB", 1000, ""};
226  Gaudi::CheckedProperty<uint32_t> m_initTimeStamp{this, "InitialTimeStamp", 0, ""};
227  Gaudi::Property<uint32_t> m_timeStampInterval{this, "TimeStampInterval", 0, ""};
228 
229  mutable std::atomic_long m_curCollection{};
230  mutable std::vector<int> m_numEvt ATLAS_THREAD_SAFE;
231  mutable std::vector<int> m_firstEvt ATLAS_THREAD_SAFE;
232 
234  Gaudi::Property<int> m_skipEvents{this, "SkipEvents", 0, ""};
235  Gaudi::Property<std::vector<long>> m_skipEventSequenceProp{this, "SkipEventSequence", {}, ""};
237  Gaudi::Property<std::string> m_skipEventRangesProp{this, "SkipEventRanges", {}, ""};
238  mutable std::vector<std::pair<long,long>> m_skipEventRanges ATLAS_THREAD_SAFE;
239 
240  mutable std::atomic_int m_evtCount{}; // internal count of events
241  mutable std::atomic_bool m_firedIncident{};
242 
245 
247 
251 };
252 
253 #endif
EventSelectorAthenaPool::last
virtual StatusCode last(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:738
EventSelectorAthenaPool::createContext
virtual StatusCode createContext(IEvtSelector::Context *&ctxt) const override
create context
Definition: EventSelectorAthenaPool.cxx:455
EventSelectorAthenaPool::m_connection
Gaudi::Property< std::string > m_connection
Connection, connection string.
Definition: EventSelectorAthenaPool.h:191
EventSelectorAthenaPool::fillAttributeList
virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override
Fill AttributeList with specific items from the selector and a suffix.
Definition: EventSelectorAthenaPool.cxx:1068
EventSelectorAthenaPool::m_skipEvents
Gaudi::Property< int > m_skipEvents
SkipEvents, numbers of events to skip: default = 0.
Definition: EventSelectorAthenaPool.h:234
IAthenaPoolCnvSvc.h
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
hotSpotInTAG.suffix
string suffix
Definition: hotSpotInTAG.py:186
EventSelectorAthenaPool::releaseContext
virtual StatusCode releaseContext(IEvtSelector::Context *&ctxt) const override
Definition: EventSelectorAthenaPool.cxx:774
EventSelectorAthenaPool::CallMutex
std::mutex CallMutex
Definition: EventSelectorAthenaPool.h:243
EventSelectorAthenaPool::io_reinit
virtual StatusCode io_reinit() override
Callback method to reinitialize the internal state of the component for I/O purposes (e....
Definition: EventSelectorAthenaPool.cxx:1096
EventSelectorAthenaPool::curEvent
virtual int curEvent(const Context &ctxt) const override
Return the current event number.
Definition: EventSelectorAthenaPool.cxx:850
EventSelectorAthenaPool::reinit
StatusCode reinit() const
Reinitialize the service when a fork() occured/was-issued.
Definition: EventSelectorAthenaPool.cxx:247
IEventShare.h
EventSelectorAthenaPool::makeClient
virtual StatusCode makeClient(int num) override
Make this a client.
Definition: EventSelectorAthenaPool.cxx:912
PoolCollectionConverter
This class provides an interface to POOL collections.
Definition: PoolCollectionConverter.h:27
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< std::pair< long, long > > m_skipEventRanges ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:238
EventSelectorAthenaPool::previous
virtual StatusCode previous(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:723
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
EventSelectorAthenaPool::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: EventSelectorAthenaPool.h:178
pool
pool namespace
Definition: libname.h:15
EventSelectorAthenaPool::m_athenaPoolCnvSvc
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Definition: EventSelectorAthenaPool.h:177
EventSelectorAthenaPool::start
virtual StatusCode start() override
Definition: EventSelectorAthenaPool.cxx:357
EventSelectorAthenaPool::m_overrideRunNumber
Gaudi::Property< bool > m_overrideRunNumber
Definition: EventSelectorAthenaPool.h:218
EventSelectorAthenaPool::readEvent
virtual StatusCode readEvent(int maxevt) override
Read the next maxevt events.
Definition: EventSelectorAthenaPool.cxx:954
EventSelectorAthenaPool::m_eventStreamingTool
ToolHandle< IAthenaIPCTool > m_eventStreamingTool
Definition: EventSelectorAthenaPool.h:209
EventSelectorAthenaPool::eventStore
StoreGateSvc * eventStore() const
Return pointer to active event SG.
Definition: EventSelectorAthenaPool.cxx:85
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< std::string >::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:197
IAthenaSelectorTool.h
This file contains the class definition for the IAthenaSelectorTool class.
EventSelectorAthenaPool::m_firstLBNo
Gaudi::CheckedProperty< uint32_t > m_firstLBNo
Definition: EventSelectorAthenaPool.h:224
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
EventSelectorAthenaPool::findEvent
int findEvent(int evtNum) const
Search for event with number evtNum.
Definition: EventSelectorAthenaPool.cxx:858
EventSelectorAthenaPool::m_callLock
CallMutex m_callLock
Definition: EventSelectorAthenaPool.h:244
EventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: EventSelectorAthenaPool.h:50
EventContextAthenaPool
This class provides the context to access an event from POOL persistent store.
Definition: EventContextAthenaPool.h:21
EventSelectorAthenaPool::stop
virtual StatusCode stop() override
Definition: EventSelectorAthenaPool.cxx:385
EventSelectorAthenaPool::m_overrideRunNumberFromInput
Gaudi::Property< bool > m_overrideRunNumberFromInput
Definition: EventSelectorAthenaPool.h:219
EventSelectorAthenaPool::m_counterTool
ToolHandle< IAthenaSelectorTool > m_counterTool
Definition: EventSelectorAthenaPool.h:208
EventSelectorAthenaPool::share
virtual StatusCode share(int evtnum) override
Request to share a given event number.
Definition: EventSelectorAthenaPool.cxx:926
EventSelectorAthenaPool::m_runNo
Gaudi::CheckedProperty< uint32_t > m_runNo
The following are included for compatibility with McEventSelector and are not really used.
Definition: EventSelectorAthenaPool.h:216
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
SG::SlotSpecificObj< SG::SourceID >
EventSelectorAthenaPool::m_firedIncident
std::atomic_bool m_firedIncident
Definition: EventSelectorAthenaPool.h:241
APRDefaults.h
EventSelectorAthenaPool::m_oldRunNo
Gaudi::CheckedProperty< uint32_t > m_oldRunNo
Definition: EventSelectorAthenaPool.h:217
EventSelectorAthenaPool::m_attrListKey
Gaudi::Property< std::string > m_attrListKey
AttributeList SG key.
Definition: EventSelectorAthenaPool.h:193
EventSelectorAthenaPool::rewind
virtual StatusCode rewind(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:746
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EventSelectorAthenaPool::resetCriteria
virtual StatusCode resetCriteria(const std::string &criteria, IEvtSelector::Context &ctxt) const override
Set a selection criteria.
Definition: EventSelectorAthenaPool.cxx:778
EventSelectorAthenaPool::m_isSecondary
Gaudi::Property< bool > m_isSecondary
IsSecondary, know if this is an instance of secondary event selector.
Definition: EventSelectorAthenaPool.h:182
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::map< SG::SourceID, int > m_activeEventsPerSource ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:175
EventSelectorAthenaPool::fireEndFileIncidents
void fireEndFileIncidents(bool isLastFile) const
Fires the EndInputFile incident (if there is an open file) at end of selector.
Definition: EventSelectorAthenaPool.cxx:397
EventSelectorAthenaPool::m_makeStreamingToolClient
IntegerProperty m_makeStreamingToolClient
Make this instance a Streaming Client during first iteration automatically.
Definition: EventSelectorAthenaPool.h:211
EventSelectorAthenaPool::m_eventsPerRun
Gaudi::CheckedProperty< uint64_t > m_eventsPerRun
Definition: EventSelectorAthenaPool.h:223
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< int > m_numEvt ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:230
EventSelectorAthenaPool::m_collectionTree
Gaudi::Property< std::string > m_collectionTree
CollectionTree, prefix of the collection TTree: default = "POOLContainer".
Definition: EventSelectorAthenaPool.h:188
EventSelectorAthenaPool::inputCollectionsHandler
void inputCollectionsHandler(Gaudi::Details::PropertyBase &)
Definition: EventSelectorAthenaPool.cxx:76
EventSelectorAthenaPool::m_firstEventNo
Gaudi::CheckedProperty< uint64_t > m_firstEventNo
Definition: EventSelectorAthenaPool.h:221
EventSelectorAthenaPool::m_skipEventRangesProp
Gaudi::Property< std::string > m_skipEventRangesProp
Skip Events - comma separated list of event to skip, ranges with '-': <start> - <end>
Definition: EventSelectorAthenaPool.h:237
EventSelectorAthenaPool::handle
virtual void handle(const Incident &incident) override
Incident service handle listening for BeginProcessing and EndProcessing.
Definition: EventSelectorAthenaPool.cxx:1163
pool::ICollectionCursor
Definition: ICollectionCursor.h:21
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
APRDefaults::TTreeNames::DataHeader
static constexpr const char * DataHeader
Definition: APRDefaults.h:14
EventSelectorAthenaPool::~EventSelectorAthenaPool
virtual ~EventSelectorAthenaPool()
Destructor.
Definition: EventSelectorAthenaPool.cxx:82
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< int > m_firstEvt ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:231
EventSelectorAthenaPool::next
virtual StatusCode next(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:460
EventSelectorAthenaPool::m_processMetadata
Gaudi::Property< bool > m_processMetadata
ProcessMetadata, switch on firing of FileIncidents which will trigger processing of metadata: default...
Definition: EventSelectorAthenaPool.h:184
EventSelectorAthenaPool::disconnectIfFinished
virtual bool disconnectIfFinished(const SG::SourceID &fid) const override
Definition: EventSelectorAthenaPool.cxx:1204
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EventSelectorAthenaPool::m_inputCollectionsProp
Gaudi::Property< std::vector< std::string > > m_inputCollectionsProp
InputCollections, vector with names of the input collections.
Definition: EventSelectorAthenaPool.h:196
EventSelectorAthenaPool::recordAttributeList
virtual StatusCode recordAttributeList() const override
Record AttributeList in StoreGate.
Definition: EventSelectorAthenaPool.cxx:1050
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
PoolCollectionConverter *m_poolCollectionConverter ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:172
EventSelectorAthenaPool::m_sourceID
SG::SlotSpecificObj< SG::SourceID > m_sourceID
Definition: EventSelectorAthenaPool.h:246
EventSelectorAthenaPool::nextHandleFileTransition
virtual StatusCode nextHandleFileTransition(IEvtSelector::Context &ctxt) const override
Handle file transition at the next iteration.
Definition: EventSelectorAthenaPool.cxx:606
EventSelectorAthenaPool::createAddress
virtual StatusCode createAddress(const IEvtSelector::Context &ctxt, IOpaqueAddress *&iop) const override
Definition: EventSelectorAthenaPool.cxx:752
EventSelectorAthenaPool::nextWithSkip
virtual StatusCode nextWithSkip(IEvtSelector::Context &ctxt) const override
Go to next event and skip if necessary.
Definition: EventSelectorAthenaPool.cxx:685
DoubleEventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: DoubleEventSelectorAthenaPool.h:27
EventSelectorAthenaPool::m_curCollection
std::atomic_long m_curCollection
Definition: EventSelectorAthenaPool.h:229
EventSelectorAthenaPool::m_eventsPerLB
Gaudi::CheckedProperty< uint32_t > m_eventsPerLB
Definition: EventSelectorAthenaPool.h:225
EventSelectorAthenaPool::m_endIter
EventContextAthenaPool * m_endIter
Definition: EventSelectorAthenaPool.h:169
EventSelectorAthenaPool::initialize
virtual StatusCode initialize() override
Required of all Gaudi Services.
Definition: EventSelectorAthenaPool.cxx:89
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
EventSelectorAthenaPool::m_evtCount
std::atomic_int m_evtCount
Definition: EventSelectorAthenaPool.h:240
SG::SourceID
std::string SourceID
Definition: AthenaKernel/AthenaKernel/SourceID.h:25
EventSelectorAthenaPool::io_finalize
virtual StatusCode io_finalize() override
Callback method to finalize the internal state of the component for I/O purposes (e....
Definition: EventSelectorAthenaPool.cxx:1148
EventSelectorAthenaPool::m_timeStampInterval
Gaudi::Property< uint32_t > m_timeStampInterval
Definition: EventSelectorAthenaPool.h:227
EventSelectorAthenaPool::m_initTimeStamp
Gaudi::CheckedProperty< uint32_t > m_initTimeStamp
Definition: EventSelectorAthenaPool.h:226
EventSelectorAthenaPool::m_skipEventSequenceProp
Gaudi::Property< std::vector< long > > m_skipEventSequenceProp
Definition: EventSelectorAthenaPool.h:235
AthService.h
SlotSpecificObj.h
Maintain a set of objects, one per slot.
EventSelectorAthenaPool::makeServer
virtual StatusCode makeServer(int num) override
Make this a server.
Definition: EventSelectorAthenaPool.cxx:892
EventSelectorAthenaPool::getCollectionCnv
PoolCollectionConverter * getCollectionCnv(bool throwIncidents=false) const
Return pointer to new PoolCollectionConverter.
Definition: EventSelectorAthenaPool.cxx:1007
EventSelectorAthenaPool::size
virtual int size(Context &ctxt) const override
Return the size of the collection.
Definition: EventSelectorAthenaPool.cxx:997
IEvtSelectorSeek.h
Extension to IEvtSelector to allow for seeking.
Guid.h
This file contains the class definition for the Guid class (migrated from POOL).
EventSelectorAthenaPool::finalize
virtual StatusCode finalize() override
Definition: EventSelectorAthenaPool.cxx:414
EventSelectorAthenaPool::m_keepInputFilesOpen
Gaudi::Property< bool > m_keepInputFilesOpen
KeepInputFilesOpen, boolean flag to keep files open after PoolCollection reaches end: default = false...
Definition: EventSelectorAthenaPool.h:204
EventSelectorAthenaPool::m_collectionType
Gaudi::Property< std::string > m_collectionType
CollectionType, type of the collection: default = "ImplicitROOT".
Definition: EventSelectorAthenaPool.h:186
EventSelectorAthenaPool::EventSelectorAthenaPool
EventSelectorAthenaPool(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: EventSelectorAthenaPool.cxx:58
IAthenaIPCTool.h
EventSelectorAthenaPool::seek
virtual StatusCode seek(Context &ctxt, int evtnum) const override
Seek to a given event number.
Definition: EventSelectorAthenaPool.cxx:783
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
bool m_inputCollectionsChanged ATLAS_THREAD_SAFE
flag to notify the EvSel that the inputs were changed and reinit() needs to be called ASAP
Definition: EventSelectorAthenaPool.h:200
ServiceHandle< IAthenaPoolCnvSvc >
ISecondaryEventSelector.h
Abstract interface for secondary event selectors.