| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EventSelector.h
Go to the documentation of this file.
1 //====================================================================
2 // EventSelector.h
3 //--------------------------------------------------------------------
4 //
5 // Package : EventSelector (LHCb Event Selector Package)
6 //
7 // Author : M.Frank
8 // Created : 4/10/00
9 //
10 //====================================================================
11 // Modified : 11/11/06
12 //
13 // Author : Andres Felipe OSORIO OLIVEROS
14 // : Marco CLEMENCIC
15 //
16 //====================================================================
17
18 #ifndef GAUDISVC_EVENTSELECTOR_EVENTSELECTOR_H
19 #define GAUDISVC_EVENTSELECTOR_EVENTSELECTOR_H 1
20
21 // Include files
22 #include "GaudiKernel/Service.h"
23 #include "GaudiKernel/IEvtSelector.h"
24
25 // STL include files
26 #include <vector>
27
28 // Forward declarations
29 class IIncidentSvc;
30 class IAddressCreator;
31 class IToolSvc;
32 class EventSelectorDataStream;
33 class EvtSelectorContext;
34 class IDataStreamTool;
35
53 class EventSelector : public extends1<Service, IEvtSelector> {
54 public:
55 typedef std::vector<EventSelectorDataStream*> Streams;
56 typedef std::vector<std::string> StreamSpecs;
57 typedef std::vector<StringProperty> Properties;
58
59 long int m_streamID;
60
61 protected:
63 SmartIF<IIncidentSvc> m_incidentSvc;
64
65 SmartIF<IToolSvc> m_toolSvc;
66
67 IDataStreamTool* m_streamtool;
68
70 bool m_reconfigure;
72 StreamSpecs m_streamSpecs;
74 StreamSpecs m_streamSpecsLast;
76 Streams m_streams;
78 int m_streamCount;
80 int m_firstEvent;
82 int m_evtMax;
84 int m_evtPrintFrequency;
85
86 std::string m_streamManager;
87
88
89
91 virtual void printEvtInfo(const EvtSelectorContext* iter) const;
92
93 public:
95 virtual StatusCode initialize();
96
98 virtual StatusCode finalize();
99
101 virtual StatusCode reinitialize();
102
104
108 virtual StatusCode createContext(Context*& refpCtxt) const;
109
111
115 virtual StatusCode next(Context& refCtxt) const;
116
118
122 virtual StatusCode next(Context& refCtxt,int jump) const;
123
125
130 virtual StatusCode previous(Context& refCtxt) const;
131
133
138 virtual StatusCode previous(Context& refCtxt,int jump) const;
139
141
145 virtual StatusCode rewind(Context& refCtxt) const;
146
148
153 virtual StatusCode createAddress(const Context& refCtxt, IOpaqueAddress*& refpAddr) const;
154
156
160 virtual StatusCode releaseContext(Context*& refCtxt) const;
161
170 virtual StatusCode resetCriteria(const std::string& cr,Context& c)const;
171
177 virtual StatusCode last(Context& c) const;
178
180 StatusCode firstOfNextStream( bool shutDown, EvtSelectorContext& it) const;
182 StatusCode lastOfPreviousStream ( bool shutDown, EvtSelectorContext& it) const;
183
185 EventSelector( const std::string& name, ISvcLocator* svcloc );
186
188 virtual ~EventSelector();
189 };
190
191 #endif // GAUDISVC_EVENTSELECTOR_EVENTSELECTOR_H