ATLAS Offline Software
EventSelectorAthenaPool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
33 // Forward declarations
34 class IIncidentSvc;
35 class IOpaqueAddress;
36 class ISvcLocator;
39 class StoreGateSvc;
40 namespace pool {
41  class ICollectionCursor;
42 }
43 
48  public extends<::AthService, IEvtSelector, IEvtSelectorSeek, IEventShare, IIoComponent, IIncidentListener, ISecondaryEventSelector>
49 {
50 
51 public: // Constructor and Destructor
53  EventSelectorAthenaPool(const std::string& name, ISvcLocator* pSvcLocator);
55  virtual ~EventSelectorAthenaPool();
56 
58  virtual StatusCode initialize() override;
59  virtual StatusCode start() override;
60  virtual StatusCode stop() override;
61  virtual StatusCode finalize() override;
62 
63  //-------------------------------------------------
64  // IEventSelector
66  virtual StatusCode createContext(IEvtSelector::Context*& ctxt) const override;
67 
69  virtual StatusCode next(IEvtSelector::Context& ctxt) const override;
72  virtual StatusCode next(IEvtSelector::Context& ctxt, int jump) const override;
73 
75  virtual StatusCode previous(IEvtSelector::Context& ctxt) const override;
78  virtual StatusCode previous(IEvtSelector::Context& ctxt, int jump) const override;
79 
81  virtual StatusCode last(IEvtSelector::Context& ctxt) const override;
82 
84  virtual StatusCode rewind(IEvtSelector::Context& ctxt) const override;
85 
88  virtual StatusCode createAddress(const IEvtSelector::Context& ctxt, IOpaqueAddress*& iop) const override;
89 
91  virtual StatusCode releaseContext(IEvtSelector::Context*& ctxt) const override;
92 
96  virtual StatusCode resetCriteria(const std::string& criteria, IEvtSelector::Context& ctxt) const override;
97 
98  //-------------------------------------------------
99  // IEventSelectorSeek
103  virtual StatusCode seek(Context& ctxt, int evtnum) const override;
104 
107  virtual int curEvent (const Context& ctxt) const override;
108 
111  virtual int size (Context& ctxt) const override;
112 
113  //-------------------------------------------------
114  // IEventShare
116  virtual StatusCode makeServer(int num) override;
117 
119  virtual StatusCode makeClient(int num) override;
120 
123  virtual StatusCode share(int evtnum) override;
124 
127  virtual StatusCode readEvent(int maxevt) override;
128 
129  //-------------------------------------------------
130  // IIoComponent
132  virtual StatusCode io_reinit() override;
134  virtual StatusCode io_finalize() override;
135 
136  //-------------------------------------------------
137  // IIncidentListener
139  virtual void handle(const Incident& incident) override;
140 
141 protected:
142  //-------------------------------------------------
143  // ISecondaryEventSelector
145  virtual StatusCode nextHandleFileTransition(IEvtSelector::Context& ctxt) const override;
147  virtual StatusCode nextWithSkip(IEvtSelector::Context& ctxt) const override;
149  virtual StatusCode recordAttributeList() const override;
151  virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override;
152  // Disconnect DB if all events from the source FID were processed and the Selector moved to another file
153  virtual bool disconnectIfFinished(const SG::SourceID &fid) const override;
154 
155 private: // internal member functions
157  StoreGateSvc* eventStore() const;
159  StatusCode reinit() const;
161  PoolCollectionConverter* getCollectionCnv(bool throwIncidents = false) const;
163  int findEvent(int evtNum) const;
165  void fireEndFileIncidents(bool isLastFile) const;
166 
167 private: // data
169 
170 
171  mutable PoolCollectionConverter* m_poolCollectionConverter ATLAS_THREAD_SAFE {};
172  mutable pool::ICollectionCursor* m_headerIterator ATLAS_THREAD_SAFE {};
173  mutable Guid m_guid ATLAS_THREAD_SAFE {};
174  mutable std::map<SG::SourceID, int> m_activeEventsPerSource ATLAS_THREAD_SAFE;
175 
176  ServiceHandle<IAthenaPoolCnvSvc> m_athenaPoolCnvSvc{this, "AthenaPoolCnvSvc", "AthenaPoolCnvSvc", ""};
177  ServiceHandle<IIncidentSvc> m_incidentSvc{this, "IncidentSvc", "IncidentSvc", ""};
178 
179 private: // properties
181  Gaudi::Property<bool> m_isSecondary{this, "IsSecondary", false, ""};
183  Gaudi::Property<bool> m_processMetadata{this, "ProcessMetadata", true, ""};
185  Gaudi::Property<std::string> m_collectionType{this, "CollectionType", "ImplicitROOT", ""};
187  Gaudi::Property<std::string> m_collectionTree{this, "CollectionTree", APRDefaults::TTreeNames::DataHeader, ""};
189  // TODO: check if really not used anywhere
190  Gaudi::Property<std::string> m_connection{this, "Connection", "", ""};
192  Gaudi::Property<std::string> m_refName{this, "RefName", "", ""};
194  Gaudi::Property<std::string> m_attrListKey{this, "AttributeListKey", "Input", ""};
195 
197  Gaudi::Property<std::vector<std::string>> m_inputCollectionsProp{this, "InputCollections", {}, ""};
198  mutable std::vector<std::string>::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE;
199  void inputCollectionsHandler(Gaudi::Details::PropertyBase&);
201  mutable bool m_inputCollectionsChanged ATLAS_THREAD_SAFE;
202 
204  Gaudi::Property<std::string> m_query{this, "Query", "", ""};
205 
208  Gaudi::Property<bool> m_keepInputFilesOpen{this, "KeepInputFilesOpen", false, ""};
209 
211  mutable ToolHandleArray<IAthenaSelectorTool> m_helperTools ATLAS_THREAD_SAFE {this};
212  ToolHandle<IAthenaSelectorTool> m_counterTool{this, "CounterTool", "", ""};
213  ToolHandle<IAthenaIPCTool> m_eventStreamingTool{this, "SharedMemoryTool", "", ""};
215  IntegerProperty m_makeStreamingToolClient{this,"MakeStreamingToolClient",0};
216 
220  Gaudi::CheckedProperty<int> m_runNo{this, "RunNumber", 0, ""};
221  Gaudi::CheckedProperty<int> m_oldRunNo{this, "OldRunNumber", 0, ""};
222  Gaudi::Property<bool> m_overrideRunNumber{this, "OverrideRunNumber", false, ""};
223  Gaudi::Property<bool> m_overrideRunNumberFromInput{this, "OverrideRunNumberFromInput", false, ""};
224  // TODO: check if not really used
225  Gaudi::CheckedProperty<int> m_firstEventNo{this, "FirstEvent", 1, ""};
226  // TODO: check if not really used
227  Gaudi::CheckedProperty<int> m_eventsPerRun{this, "EventsPerRun", 1000000, ""};
228  Gaudi::CheckedProperty<int> m_firstLBNo{this, "FirstLB", 0, ""};
229  Gaudi::CheckedProperty<int> m_eventsPerLB{this, "EventsPerLB", 1000, ""};
230  Gaudi::CheckedProperty<int> m_initTimeStamp{this, "InitialTimeStamp", 0, ""};
231  Gaudi::Property<int> m_timeStampInterval{this, "TimeStampInterval", 0, ""};
232 
233  mutable std::atomic_long m_curCollection{};
234  mutable std::vector<int> m_numEvt ATLAS_THREAD_SAFE;
235  mutable std::vector<int> m_firstEvt ATLAS_THREAD_SAFE;
236 
238  Gaudi::Property<int> m_skipEvents{this, "SkipEvents", 0, ""};
239  Gaudi::Property<std::vector<long>> m_skipEventSequenceProp{this, "SkipEventSequence", {}, ""};
241  Gaudi::Property<std::string> m_skipEventRangesProp{this, "SkipEventRanges", {}, ""};
242  mutable std::vector<std::pair<long,long>> m_skipEventRanges ATLAS_THREAD_SAFE;
243 
244  mutable std::atomic_int m_evtCount{}; // internal count of events
245  mutable std::atomic_bool m_firedIncident{};
246 
249 
251 
255 };
256 
257 #endif
EventSelectorAthenaPool::last
virtual StatusCode last(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:754
EventSelectorAthenaPool::createContext
virtual StatusCode createContext(IEvtSelector::Context *&ctxt) const override
create context
Definition: EventSelectorAthenaPool.cxx:468
EventSelectorAthenaPool::m_connection
Gaudi::Property< std::string > m_connection
Connection, connection string.
Definition: EventSelectorAthenaPool.h:190
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:1092
EventSelectorAthenaPool::m_skipEvents
Gaudi::Property< int > m_skipEvents
SkipEvents, numbers of events to skip: default = 0.
Definition: EventSelectorAthenaPool.h:238
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:795
EventSelectorAthenaPool::CallMutex
std::mutex CallMutex
Definition: EventSelectorAthenaPool.h:247
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:1120
EventSelectorAthenaPool::curEvent
virtual int curEvent(const Context &ctxt) const override
Return the current event number.
Definition: EventSelectorAthenaPool.cxx:872
EventSelectorAthenaPool::m_oldRunNo
Gaudi::CheckedProperty< int > m_oldRunNo
Definition: EventSelectorAthenaPool.h:221
EventSelectorAthenaPool::m_runNo
Gaudi::CheckedProperty< int > m_runNo
The following are included for compatibility with McEventSelector and are not really used.
Definition: EventSelectorAthenaPool.h:220
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:935
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:242
EventSelectorAthenaPool::previous
virtual StatusCode previous(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:739
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
EventSelectorAthenaPool::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: EventSelectorAthenaPool.h:177
EventSelectorAthenaPool::m_timeStampInterval
Gaudi::Property< int > m_timeStampInterval
Definition: EventSelectorAthenaPool.h:231
pool
pool namespace
Definition: libname.h:15
EventSelectorAthenaPool::m_firstEventNo
Gaudi::CheckedProperty< int > m_firstEventNo
Definition: EventSelectorAthenaPool.h:225
EventSelectorAthenaPool::m_athenaPoolCnvSvc
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Definition: EventSelectorAthenaPool.h:176
EventSelectorAthenaPool::start
virtual StatusCode start() override
Definition: EventSelectorAthenaPool.cxx:370
EventSelectorAthenaPool::m_overrideRunNumber
Gaudi::Property< bool > m_overrideRunNumber
Definition: EventSelectorAthenaPool.h:222
EventSelectorAthenaPool::readEvent
virtual StatusCode readEvent(int maxevt) override
Read the next maxevt events.
Definition: EventSelectorAthenaPool.cxx:977
EventSelectorAthenaPool::m_eventStreamingTool
ToolHandle< IAthenaIPCTool > m_eventStreamingTool
Definition: EventSelectorAthenaPool.h:213
EventSelectorAthenaPool::m_query
Gaudi::Property< std::string > m_query
Query string passed to APR when opening DataHeader container (kind of useless).
Definition: EventSelectorAthenaPool.h:204
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:198
IAthenaSelectorTool.h
This file contains the class definition for the IAthenaSelectorTool class.
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
EventSelectorAthenaPool::findEvent
int findEvent(int evtNum) const
Search for event with number evtNum.
Definition: EventSelectorAthenaPool.cxx:880
EventSelectorAthenaPool::m_callLock
CallMutex m_callLock
Definition: EventSelectorAthenaPool.h:248
EventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: EventSelectorAthenaPool.h:49
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:398
EventSelectorAthenaPool::m_overrideRunNumberFromInput
Gaudi::Property< bool > m_overrideRunNumberFromInput
Definition: EventSelectorAthenaPool.h:223
EventSelectorAthenaPool::m_refName
Gaudi::Property< std::string > m_refName
RefName, attribute name.
Definition: EventSelectorAthenaPool.h:192
EventSelectorAthenaPool::m_counterTool
ToolHandle< IAthenaSelectorTool > m_counterTool
Definition: EventSelectorAthenaPool.h:212
EventSelectorAthenaPool::share
virtual StatusCode share(int evtnum) override
Request to share a given event number.
Definition: EventSelectorAthenaPool.cxx:949
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:245
APRDefaults.h
EventSelectorAthenaPool::m_attrListKey
Gaudi::Property< std::string > m_attrListKey
AttributeList SG key.
Definition: EventSelectorAthenaPool.h:194
EventSelectorAthenaPool::rewind
virtual StatusCode rewind(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:762
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EventSelectorAthenaPool::m_eventsPerLB
Gaudi::CheckedProperty< int > m_eventsPerLB
Definition: EventSelectorAthenaPool.h:229
EventSelectorAthenaPool::resetCriteria
virtual StatusCode resetCriteria(const std::string &criteria, IEvtSelector::Context &ctxt) const override
Set a selection criteria.
Definition: EventSelectorAthenaPool.cxx:799
EventSelectorAthenaPool::m_eventsPerRun
Gaudi::CheckedProperty< int > m_eventsPerRun
Definition: EventSelectorAthenaPool.h:227
EventSelectorAthenaPool::m_isSecondary
Gaudi::Property< bool > m_isSecondary
IsSecondary, know if this is an instance of secondary event selector.
Definition: EventSelectorAthenaPool.h:181
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::map< SG::SourceID, int > m_activeEventsPerSource ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:174
EventSelectorAthenaPool::fireEndFileIncidents
void fireEndFileIncidents(bool isLastFile) const
Fires the EndInputFile incident (if there is an open file) at end of selector.
Definition: EventSelectorAthenaPool.cxx:410
EventSelectorAthenaPool::m_makeStreamingToolClient
IntegerProperty m_makeStreamingToolClient
Make this instance a Streaming Client during first iteration automatically.
Definition: EventSelectorAthenaPool.h:215
EventSelectorAthenaPool::m_firstLBNo
Gaudi::CheckedProperty< int > m_firstLBNo
Definition: EventSelectorAthenaPool.h:228
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
std::vector< int > m_numEvt ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:234
EventSelectorAthenaPool::m_collectionTree
Gaudi::Property< std::string > m_collectionTree
CollectionTree, prefix of the collection TTree: default = "POOLContainer".
Definition: EventSelectorAthenaPool.h:187
EventSelectorAthenaPool::inputCollectionsHandler
void inputCollectionsHandler(Gaudi::Details::PropertyBase &)
Definition: EventSelectorAthenaPool.cxx:76
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:241
EventSelectorAthenaPool::handle
virtual void handle(const Incident &incident) override
Incident service handle listening for BeginProcessing and EndProcessing.
Definition: EventSelectorAthenaPool.cxx:1187
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:235
EventSelectorAthenaPool::next
virtual StatusCode next(IEvtSelector::Context &ctxt) const override
Definition: EventSelectorAthenaPool.cxx:473
EventSelectorAthenaPool::m_initTimeStamp
Gaudi::CheckedProperty< int > m_initTimeStamp
Definition: EventSelectorAthenaPool.h:230
EventSelectorAthenaPool::m_processMetadata
Gaudi::Property< bool > m_processMetadata
ProcessMetadata, switch on firing of FileIncidents which will trigger processing of metadata: default...
Definition: EventSelectorAthenaPool.h:183
EventSelectorAthenaPool::disconnectIfFinished
virtual bool disconnectIfFinished(const SG::SourceID &fid) const override
Definition: EventSelectorAthenaPool.cxx:1228
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:197
EventSelectorAthenaPool::recordAttributeList
virtual StatusCode recordAttributeList() const override
Record AttributeList in StoreGate.
Definition: EventSelectorAthenaPool.cxx:1074
EventSelectorAthenaPool::ATLAS_THREAD_SAFE
PoolCollectionConverter *m_poolCollectionConverter ATLAS_THREAD_SAFE
Definition: EventSelectorAthenaPool.h:171
EventSelectorAthenaPool::m_sourceID
SG::SlotSpecificObj< SG::SourceID > m_sourceID
Definition: EventSelectorAthenaPool.h:250
EventSelectorAthenaPool::nextHandleFileTransition
virtual StatusCode nextHandleFileTransition(IEvtSelector::Context &ctxt) const override
Handle file transition at the next iteration.
Definition: EventSelectorAthenaPool.cxx:619
EventSelectorAthenaPool::createAddress
virtual StatusCode createAddress(const IEvtSelector::Context &ctxt, IOpaqueAddress *&iop) const override
Definition: EventSelectorAthenaPool.cxx:768
EventSelectorAthenaPool::nextWithSkip
virtual StatusCode nextWithSkip(IEvtSelector::Context &ctxt) const override
Go to next event and skip if necessary.
Definition: EventSelectorAthenaPool.cxx:701
DoubleEventSelectorAthenaPool
This class is the EventSelector for event data.
Definition: DoubleEventSelectorAthenaPool.h:27
EventSelectorAthenaPool::m_curCollection
std::atomic_long m_curCollection
Definition: EventSelectorAthenaPool.h:233
EventSelectorAthenaPool::m_endIter
EventContextAthenaPool * m_endIter
Definition: EventSelectorAthenaPool.h:168
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:244
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:1172
EventSelectorAthenaPool::m_skipEventSequenceProp
Gaudi::Property< std::vector< long > > m_skipEventSequenceProp
Definition: EventSelectorAthenaPool.h:239
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:915
EventSelectorAthenaPool::getCollectionCnv
PoolCollectionConverter * getCollectionCnv(bool throwIncidents=false) const
Return pointer to new PoolCollectionConverter.
Definition: EventSelectorAthenaPool.cxx:1030
EventSelectorAthenaPool::size
virtual int size(Context &ctxt) const override
Return the size of the collection.
Definition: EventSelectorAthenaPool.cxx:1020
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:427
EventSelectorAthenaPool::m_keepInputFilesOpen
Gaudi::Property< bool > m_keepInputFilesOpen
KeepInputFilesOpen, boolean flag to keep files open after PoolCollection reaches end: default = false...
Definition: EventSelectorAthenaPool.h:208
EventSelectorAthenaPool::m_collectionType
Gaudi::Property< std::string > m_collectionType
CollectionType, type of the collection: default = "ImplicitROOT".
Definition: EventSelectorAthenaPool.h:185
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:804
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:201
ServiceHandle< IAthenaPoolCnvSvc >
ISecondaryEventSelector.h
Abstract interface for secondary event selectors.