| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RawDataEvtSelector.h

Go to the documentation of this file.
00001 #ifndef RAWDATAEVTSELECTOR_H
00002 #define RAWDATAEVTSELECTOR_H
00003 
00004 #include "GaudiKernel/Service.h"
00005 #include "GaudiKernel/IEvtSelector.h"
00006 
00007 // forward declarations
00008 class IRawDataInputSvc;
00009 
00010 class RawDataEvtSelector : public Service,
00011          virtual public IEvtSelector
00012 {
00013 class Context : public IEvtSelector::Context
00014    {
00015       const RawDataEvtSelector* m_evtSel;
00016    public:
00017       int m_entry;
00018 
00019       Context(const RawDataEvtSelector* evtsel)
00020             : m_evtSel(evtsel), m_entry(-1) {}
00021 
00022       virtual ~Context() {}
00023 
00024       virtual void* identifier() const {
00025          return (void*)m_evtSel;
00026       }
00027    };
00028 
00029 public:
00030    RawDataEvtSelector(const std::string& name, ISvcLocator* svcloc);
00031    virtual ~RawDataEvtSelector();
00032 
00033    // Implementation of Service base class methods.
00034    virtual StatusCode initialize();
00035    virtual StatusCode finalize();
00036 
00037    // Implementation of the IEvtSelector interface methods.
00038    virtual StatusCode createContext(IEvtSelector::Context*& it) const;
00039    virtual StatusCode next(IEvtSelector::Context& it) const;
00040    virtual StatusCode next(IEvtSelector::Context& it, int jump) const;
00041    virtual StatusCode previous(IEvtSelector::Context& it) const;
00042    virtual StatusCode previous(IEvtSelector::Context& it, int jump) const;
00043 
00044    virtual StatusCode last(IEvtSelector::Context& it) const;
00045    virtual StatusCode rewind(IEvtSelector::Context& it) const;
00046 
00047    virtual StatusCode createAddress(const IEvtSelector::Context& it, IOpaqueAddress*& iop) const;
00048    virtual StatusCode releaseContext(IEvtSelector::Context*& it) const;
00049    virtual StatusCode resetCriteria(const std::string& criteria, IEvtSelector::Context& ct) const;
00050 
00051    virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface);
00052 
00053    virtual StatusCode setEntry(RawDataEvtSelector::Context& rc, int entry) const;
00054 
00055 private:
00056    IRawDataInputSvc*                    m_rawSvc;
00057 };
00058 
00059 #endif
00060 
00061 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:27:02 2011 for RawDataIO by doxygen 1.4.7