/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/McEventSelector/McEventSelector-01-00-13/McEventSelector/McEventSelector.h

Go to the documentation of this file.
00001 //====================================================================
00002 //      McEventSelector.h
00003 //--------------------------------------------------------------------
00004 //
00005 //      Package    : McEventSelector
00006 //
00007 //  Description: The McEventSelector component is able
00008 //               to produce a list of event references given a set of "selection
00009 //               criteria".
00010 //
00011 //      Author     : P. Calafiura
00012 //  Created    : 2/28/00
00013 //      Changes    : 
00014 //
00015 //
00016 //====================================================================
00017 
00018 #ifndef MCEVENTSELECTOR_MCEVENTSELECTOR_H
00019 #define MCEVENTSELECTOR_MCEVENTSELECTOR_H 1
00020 
00021 // Include files
00022 #include "GaudiKernel/IEvtSelector.h"
00023 #include "GaudiKernel/Service.h"
00024 #include "GaudiKernel/Property.h"  /*no forward decl: typedef*/
00025 
00026 // Forward declarations
00027 class ISvcLocator;
00028 
00029 #ifdef WIN32
00030 // Disable warning C4786: identifier was truncated to '255' characters in the debug information
00031 #pragma warning ( disable : 4786 )
00032 #endif
00033 
00034 
00035 //--------------------------------------------------------------------
00036 // Event Selector 
00037 //--------------------------------------------------------------------
00038 
00039 class McEventSelector : virtual public Service, 
00040                         virtual public IEvtSelector {
00041 public:
00042    // Standard Constructor.
00043    McEventSelector(const std::string& name, ISvcLocator* svcloc);
00044   
00045    // Standard Destructor.
00046    ~McEventSelector();
00047 
00048    // Implementation of Service base class methods.
00049    virtual StatusCode initialize();
00050    virtual StatusCode finalize();
00051 
00052    virtual StatusCode queryInterface(const InterfaceID& riid, 
00053                                     void** ppvInterface);
00054    virtual StatusCode createContext(Context*& refpCtxt) const;
00055 
00056    virtual StatusCode last(Context& refContext) const;
00057    virtual StatusCode next(Context& refCtxt) const;
00058    virtual StatusCode next(Context& refCtxt,int jump) const;
00059    virtual StatusCode previous(Context& refCtxt) const;
00060    virtual StatusCode previous(Context& refCtxt,int jump) const;
00061    virtual StatusCode rewind(Context& refCtxt) const;
00062 
00063    virtual StatusCode createAddress(const Context& refCtxt, 
00064                                     IOpaqueAddress*&) const;
00065    virtual StatusCode releaseContext(Context*& refCtxt) const;
00066    virtual StatusCode resetCriteria(const std::string& cr,Context& c)const;
00067   
00068 private:
00069    IntegerProperty m_runNo;
00070    IntegerProperty m_firstEventNo;
00071    IntegerProperty m_eventsPerRun;
00072 
00073   /*
00074   static IService* createClassObject( const std::string& svcname, ISvcLocator* svcloc );
00075   // IEvtSelector implementation
00076   virtual StatusCode initialize();
00077   virtual StatusCode setCriteria( const std::string& criteria );
00078   virtual StatusCode setCriteria( const SelectionCriteria& criteria );  
00079   virtual Iterator* begin() const;
00080   virtual Iterator* end() const;
00081   virtual Iterator& next(Iterator& it) const; 
00082   virtual Iterator& previous(Iterator& it) const; 
00083   IOpaqueAddress* reference(const Iterator& it) const;
00084 
00085   // IInterface implementation
00086   virtual StatusCode queryInterface(const IID& riid, void** ppvInterface);
00087 
00088   // Constructors & Destructors
00089   McEventSelector(  const std::string& name, ISvcLocator* svcloc );
00090   ~McEventSelector();
00091 
00092 private:
00093   //  EventSource* p_eventSource;
00094   McIterator* p_beginIter;
00095   McIterator* p_endIter;
00096   IntegerProperty m_runNo;
00097   IntegerProperty m_firstEventNo;
00098   IntegerProperty m_eventsPerRun;
00099   */
00100 
00101 };
00102 
00103 #endif  // MCEVENTCNV_MCEVENTSELECTOR_H
00104 
00105 

Generated on Tue Nov 29 23:12:40 2016 for BOSS_7.0.2 by  doxygen 1.4.7