Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v28r2p1 (f1a77ff4)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IEvtSelector.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IEVTSELECTOR_H
2 #define GAUDIKERNEL_IEVTSELECTOR_H 1
3 
4 // Include files
8 #include <string>
9 
18 class GAUDI_API IEvtSelector: virtual public IInterface {
19 public:
22 
23  class Context{
24  public:
25  virtual ~Context() = default;
26  virtual void* identifier() const=0;
27  };
28 
34  virtual StatusCode createContext(Context*& c) const = 0;
35 
43  virtual StatusCode next(Context& c) const = 0;
44 
50  virtual StatusCode next(Context& c,int jump) const = 0;
51 
58  virtual StatusCode previous(Context& c) const = 0;
59 
65  virtual StatusCode previous(Context& c,int jump) const = 0;
66 
70  virtual StatusCode last(Context& refContext) const = 0;
71 
77  virtual StatusCode rewind(Context& c) const = 0;
78 
85  virtual StatusCode createAddress(const Context& c,IOpaqueAddress*& iop) const = 0;
86 
91  virtual StatusCode releaseContext(Context*&)const=0;
92 
99  virtual StatusCode resetCriteria(const std::string& cr,Context& c)const=0;
100 };
101 
102 #endif //GAUDIKERNEL_IEVTSELECTOR_H
The Event Selector Interface.
Definition: IEvtSelector.h:18
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:107