| # Gaudi Framework, version v21r7 |

Home |  | Generated: 22 Jan 2010

# IEvtSelector.h

Go to the documentation of this file.

    00001 //$Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IEvtSelector.h,v 1.5 2006/11/30 15:22:07 dquarrie Exp $
    00002 #ifndef GAUDIKERNEL_IEVTSELECTOR_H
    00003 #define GAUDIKERNEL_IEVTSELECTOR_H 1
    00004
    00005 // Include files
    00006 #include "GaudiKernel/IInterface.h"
    00007 #include "GaudiKernel/IOpaqueAddress.h"
    00008 #include "GaudiKernel/StatusCode.h"
    00009 #include <string>
    00010
    00019 class GAUDI_API IEvtSelector: virtual public IInterface {
    00020 public:
    00022   DeclareInterfaceID(IEvtSelector,2,0);
    00023
    00024   class Context{
    00025   public:
    00026     virtual ~Context() { }
    00027     virtual void* identifier() const=0;
    00028   };
    00029
    00035   virtual StatusCode createContext(Context*& c) const = 0;
    00036
    00044   virtual StatusCode next(Context& c) const  = 0;
    00045
    00051   virtual StatusCode next(Context& c,int jump) const  = 0;
    00052
    00059   virtual StatusCode previous(Context& c) const = 0;
    00060
    00066   virtual StatusCode previous(Context& c,int jump) const = 0;
    00067
    00071   virtual StatusCode last(Context& refContext) const = 0;
    00072
    00078   virtual StatusCode rewind(Context& c) const = 0;
    00079
    00086   virtual StatusCode createAddress(const Context& c,IOpaqueAddress*& iop) const = 0;
    00087
    00092   virtual StatusCode releaseContext(Context*&)const=0;
    00093
    00100   virtual StatusCode resetCriteria(const std::string& cr,Context& c)const=0;
    00101 };
    00102
    00103 #endif //GAUDIKERNEL_IEVTSELECTOR_H