|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef EVENTSELECTORATHENAPOOL_H
6 #define EVENTSELECTORATHENAPOOL_H
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"
41 class ICollectionCursor;
48 public extends<::AthService, IEvtSelector, IEvtSelectorSeek, IEventShare, IIoComponent, IIncidentListener, ISecondaryEventSelector>
69 virtual StatusCode next(IEvtSelector::Context& ctxt)
const override;
72 virtual StatusCode next(IEvtSelector::Context& ctxt,
int jump)
const override;
81 virtual StatusCode last(IEvtSelector::Context& ctxt)
const override;
103 virtual StatusCode seek(Context& ctxt,
int evtnum)
const override;
107 virtual int curEvent (
const Context& ctxt)
const override;
111 virtual int size (Context& ctxt)
const override;
139 virtual void handle(
const Incident& incident)
override;
192 Gaudi::Property<std::string>
m_refName{
this,
"RefName",
"",
""};
194 Gaudi::Property<std::string>
m_attrListKey{
this,
"AttributeListKey",
"Input",
""};
204 Gaudi::Property<std::string>
m_query{
this,
"Query",
"",
""};
220 Gaudi::CheckedProperty<int>
m_runNo{
this,
"RunNumber", 0,
""};
221 Gaudi::CheckedProperty<int>
m_oldRunNo{
this,
"OldRunNumber", 0,
""};
virtual StatusCode last(IEvtSelector::Context &ctxt) const override
virtual StatusCode createContext(IEvtSelector::Context *&ctxt) const override
create context
Gaudi::Property< std::string > m_connection
Connection, connection string.
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.
Gaudi::Property< int > m_skipEvents
SkipEvents, numbers of events to skip: default = 0.
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
virtual StatusCode releaseContext(IEvtSelector::Context *&ctxt) const override
virtual StatusCode io_reinit() override
Callback method to reinitialize the internal state of the component for I/O purposes (e....
virtual int curEvent(const Context &ctxt) const override
Return the current event number.
Gaudi::CheckedProperty< int > m_oldRunNo
Gaudi::CheckedProperty< int > m_runNo
The following are included for compatibility with McEventSelector and are not really used.
StatusCode reinit() const
Reinitialize the service when a fork() occured/was-issued.
virtual StatusCode makeClient(int num) override
Make this a client.
This class provides an interface to POOL collections.
std::vector< std::pair< long, long > > m_skipEventRanges ATLAS_THREAD_SAFE
virtual StatusCode previous(IEvtSelector::Context &ctxt) const override
ServiceHandle< IIncidentSvc > m_incidentSvc
Gaudi::Property< int > m_timeStampInterval
Gaudi::CheckedProperty< int > m_firstEventNo
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
virtual StatusCode start() override
Gaudi::Property< bool > m_overrideRunNumber
virtual StatusCode readEvent(int maxevt) override
Read the next maxevt events.
ToolHandle< IAthenaIPCTool > m_eventStreamingTool
Gaudi::Property< std::string > m_query
Query string passed to APR when opening DataHeader container (kind of useless).
StoreGateSvc * eventStore() const
Return pointer to active event SG.
std::vector< std::string >::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE
int findEvent(int evtNum) const
Search for event with number evtNum.
This class is the EventSelector for event data.
This class provides the context to access an event from POOL persistent store.
virtual StatusCode stop() override
Gaudi::Property< bool > m_overrideRunNumberFromInput
Gaudi::Property< std::string > m_refName
RefName, attribute name.
ToolHandle< IAthenaSelectorTool > m_counterTool
virtual StatusCode share(int evtnum) override
Request to share a given event number.
The Athena Transient Store API.
std::atomic_bool m_firedIncident
Gaudi::Property< std::string > m_attrListKey
AttributeList SG key.
virtual StatusCode rewind(IEvtSelector::Context &ctxt) const override
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::CheckedProperty< int > m_eventsPerLB
virtual StatusCode resetCriteria(const std::string &criteria, IEvtSelector::Context &ctxt) const override
Set a selection criteria.
Gaudi::CheckedProperty< int > m_eventsPerRun
Gaudi::Property< bool > m_isSecondary
IsSecondary, know if this is an instance of secondary event selector.
std::map< SG::SourceID, int > m_activeEventsPerSource ATLAS_THREAD_SAFE
void fireEndFileIncidents(bool isLastFile) const
Fires the EndInputFile incident (if there is an open file) at end of selector.
IntegerProperty m_makeStreamingToolClient
Make this instance a Streaming Client during first iteration automatically.
Gaudi::CheckedProperty< int > m_firstLBNo
std::vector< int > m_numEvt ATLAS_THREAD_SAFE
Gaudi::Property< std::string > m_collectionTree
CollectionTree, prefix of the collection TTree: default = "POOLContainer".
void inputCollectionsHandler(Gaudi::Details::PropertyBase &)
Gaudi::Property< std::string > m_skipEventRangesProp
Skip Events - comma separated list of event to skip, ranges with '-': <start> - <end>
virtual void handle(const Incident &incident) override
Incident service handle listening for BeginProcessing and EndProcessing.
static constexpr const char * DataHeader
virtual ~EventSelectorAthenaPool()
Destructor.
std::vector< int > m_firstEvt ATLAS_THREAD_SAFE
virtual StatusCode next(IEvtSelector::Context &ctxt) const override
Gaudi::CheckedProperty< int > m_initTimeStamp
Gaudi::Property< bool > m_processMetadata
ProcessMetadata, switch on firing of FileIncidents which will trigger processing of metadata: default...
virtual bool disconnectIfFinished(const SG::SourceID &fid) const override
Gaudi::Property< std::vector< std::string > > m_inputCollectionsProp
InputCollections, vector with names of the input collections.
virtual StatusCode recordAttributeList() const override
Record AttributeList in StoreGate.
PoolCollectionConverter *m_poolCollectionConverter ATLAS_THREAD_SAFE
SG::SlotSpecificObj< SG::SourceID > m_sourceID
virtual StatusCode nextHandleFileTransition(IEvtSelector::Context &ctxt) const override
Handle file transition at the next iteration.
virtual StatusCode createAddress(const IEvtSelector::Context &ctxt, IOpaqueAddress *&iop) const override
virtual StatusCode nextWithSkip(IEvtSelector::Context &ctxt) const override
Go to next event and skip if necessary.
This class is the EventSelector for event data.
std::atomic_long m_curCollection
EventContextAthenaPool * m_endIter
virtual StatusCode initialize() override
Required of all Gaudi Services.
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
std::atomic_int m_evtCount
virtual StatusCode io_finalize() override
Callback method to finalize the internal state of the component for I/O purposes (e....
Gaudi::Property< std::vector< long > > m_skipEventSequenceProp
Maintain a set of objects, one per slot.
virtual StatusCode makeServer(int num) override
Make this a server.
PoolCollectionConverter * getCollectionCnv(bool throwIncidents=false) const
Return pointer to new PoolCollectionConverter.
virtual int size(Context &ctxt) const override
Return the size of the collection.
Extension to IEvtSelector to allow for seeking.
This file contains the class definition for the Guid class (migrated from POOL).
virtual StatusCode finalize() override
Gaudi::Property< bool > m_keepInputFilesOpen
KeepInputFilesOpen, boolean flag to keep files open after PoolCollection reaches end: default = false...
Gaudi::Property< std::string > m_collectionType
CollectionType, type of the collection: default = "ImplicitROOT".
EventSelectorAthenaPool(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
virtual StatusCode seek(Context &ctxt, int evtnum) const override
Seek to a given event number.
bool m_inputCollectionsChanged ATLAS_THREAD_SAFE
flag to notify the EvSel that the inputs were changed and reinit() needs to be called ASAP
Abstract interface for secondary event selectors.