Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
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
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:244
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:71