ATLAS Offline Software
EventSelectorMuonCalibStream.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONCALIBSTREAMCNVSVC_EVENTSELECTORMUONCALIBSTREAM_H
5 #define MUONCALIBSTREAMCNVSVC_EVENTSELECTORMUONCALIBSTREAM_H
6 // EventSelectorMuonCalibStream
7 
8 // Include files.
9 #include <map>
10 
12 #include "GaudiKernel/IEvtSelector.h"
13 #include "GaudiKernel/IProperty.h"
14 #include "MuCalDecode/CalibEvent.h"
15 
16 // Forward declarations.
17 class ISvcLocator;
21 
22 // Namespaces.
23 using namespace std;
24 
25 // Class EventSelectorMuonCalibStream.
26 class EventSelectorMuonCalibStream : virtual public AthService, virtual public IEvtSelector, virtual public IProperty {
27 public:
28  // Standard Constructor.
29  EventSelectorMuonCalibStream(const string &name, ISvcLocator *svcloc);
30 
31  // Standard Destructor.
33 
34  // Implementation of Service base class methods.
35  virtual StatusCode initialize();
36 
37  // Implementation of the IEvtSelector interface methods.
38  virtual StatusCode createContext(Context *&it) const;
39  virtual StatusCode next(Context &it) const;
40  virtual StatusCode next(Context &it, int jump) const;
41  virtual StatusCode previous(Context &it) const;
42  virtual StatusCode previous(Context &it, int jump) const;
43 
44  virtual StatusCode last(Context &it) const;
45  virtual StatusCode rewind(Context &it) const;
46 
47  virtual StatusCode createAddress(const Context &it, IOpaqueAddress *&iop) const;
48  virtual StatusCode releaseContext(Context *&it) const;
49  virtual StatusCode resetCriteria(const std::string &criteria, Context &context) const;
50 
51  // Implementation of IInterface methods.
52  virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface);
53 
54  // make entries in StoreGate for this event
55 
56 private:
57  // property
63 
64  int m_SkipEvents; // Number of events to skip at the beginning
65  //mutable int m_NumEvents; // Number of Events read so far.
66  //std::atomic<long> m_NumEvents = 0;
67 
68  mutable long m_NumEvents ATLAS_THREAD_SAFE = 0;
69 };
70 
71 #endif
initialize
void initialize()
Definition: run_EoverP.cxx:894
skel.it
it
Definition: skel.GENtoEVGEN.py:423
EventSelectorMuonCalibStream::m_eventSource
MuonCalibStreamInputSvc * m_eventSource
Definition: EventSelectorMuonCalibStream.h:61
fillPileUpNoiseLumi.next
next
Definition: fillPileUpNoiseLumi.py:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
EventSelectorMuonCalibStream
Definition: EventSelectorMuonCalibStream.h:26
EventSelectorMuonCalibStream::m_eventSourceName
string m_eventSourceName
Definition: EventSelectorMuonCalibStream.h:58
EventSelectorMuonCalibStream::m_beginIter
EventContextMuonCalibStream * m_beginIter
Definition: EventSelectorMuonCalibStream.h:59
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EventSelectorMuonCalibStream::m_endIter
EventContextMuonCalibStream * m_endIter
Definition: EventSelectorMuonCalibStream.h:60
EventSelectorMuonCalibStream::m_SkipEvents
int m_SkipEvents
Definition: EventSelectorMuonCalibStream.h:64
MuonCalibStreamInputSvc
Definition: MuonCalibStreamInputSvc.h:16
AthService.h
EventSelectorMuonCalibStream::m_dataProvider
IMuonCalibStreamDataProviderSvc * m_dataProvider
Definition: EventSelectorMuonCalibStream.h:62
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
EventContextMuonCalibStream
This class provides the Context for EventSelectorMuonCalibStream.
Definition: EventContextMuonCalibStream.h:23
IMuonCalibStreamDataProviderSvc
Definition: IMuonCalibStreamDataProviderSvc.h:13
Trk::previous
@ previous
Definition: BinningData.h:32