00001 //==================================================================== 00002 // EventLoopMgr.h 00003 //-------------------------------------------------------------------- 00004 // 00005 // Package : GaudiSvc ( The LHCb Offline System) 00006 // 00007 // Description: definition of the default processing manager 00008 // service for the application manager 00009 // 00010 // Author : M.Frank 00011 //==================================================================== 00012 #ifndef GAUDISVC_EVENTLOOPMGR_H 00013 #define GAUDISVC_EVENTLOOPMGR_H 1 00014 00015 // Framework include files 00016 #include "GaudiKernel/IEvtSelector.h" 00017 #include "MinimalEventLoopMgr.h" 00018 00019 // Forward declarations 00020 class IIncidentSvc; 00021 class IDataManagerSvc; 00022 class IDataProviderSvc; 00023 00046 class EventLoopMgr : public MinimalEventLoopMgr { 00047 public: 00049 friend class SvcFactory<EventLoopMgr>; 00050 typedef IEvtSelector::Iterator EvtIterator; 00051 00052 protected: 00054 IIncidentSvc* m_incidentSvc; 00056 IDataManagerSvc* m_evtDataMgrSvc; 00058 IDataProviderSvc* m_evtDataSvc; 00060 IEvtSelector* m_evtSelector; 00062 EvtIterator* m_evtIterator; 00064 std::string m_evtsel; 00065 00066 protected: 00068 EventLoopMgr(const std::string& nam, ISvcLocator* svcLoc); 00070 virtual ~EventLoopMgr(); 00071 00072 public: 00074 virtual StatusCode initialize(); 00076 virtual StatusCode finalize(); 00078 virtual StatusCode nextEvent(int maxevt); 00080 virtual StatusCode executeEvent(void* par); 00081 }; 00082 #endif // GAUDISVC_EVENTLOOPMGR_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000