| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# EventLoopMgr.h

Go to the documentation of this file.

    00001 // $Id: EventLoopMgr.h,v 1.9 2008/10/09 13:40:18 marcocle Exp $
    00002 #ifndef GAUDISVC_EVENTLOOPMGR_H
    00003 #define GAUDISVC_EVENTLOOPMGR_H 1
    00004
    00005 // Framework include files
    00006 #include "GaudiKernel/IEvtSelector.h"
    00007 #include "GaudiKernel/MinimalEventLoopMgr.h"
    00008
    00009 // std includes
    00010 #include <memory>
    00011
    00012 // Forward declarations
    00013 class IIncidentSvc;
    00014 class IDataManagerSvc;
    00015 class IDataProviderSvc;
    00016 class WatchdogThread;
    00017
    00040 class EventLoopMgr : public MinimalEventLoopMgr   {
    00041 public:
    00042
    00043 protected:
    00045   SmartIF<IDataManagerSvc>  m_evtDataMgrSvc;
    00047   SmartIF<IDataProviderSvc> m_evtDataSvc;
    00049   SmartIF<IEvtSelector>     m_evtSelector;
    00051   IEvtSelector::Context*      m_evtContext;
    00053   std::string       m_evtsel;
    00055   SmartIF<IDataManagerSvc>  m_histoDataMgrSvc;
    00057   SmartIF<IConversionSvc>   m_histoPersSvc;
    00059   std::string       m_histPersName;
    00061   IProperty*        m_appMgrProperty;
    00064   bool              m_endEventFired;
    00066   bool              m_warnings;
    00068   bool              m_handleSIGINT;
    00070   bool              m_handleSIGXCPU;
    00072   unsigned int      m_eventTimeout;
    00074   std::auto_ptr<WatchdogThread> m_watchdog;
    00075
    00076 public:
    00078   EventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
    00080   virtual ~EventLoopMgr();
    00082   StatusCode getEventRoot(IOpaqueAddress*& refpAddr);
    00083
    00085   virtual StatusCode initialize();
    00087   virtual StatusCode reinitialize();
    00089   virtual StatusCode stop();
    00091   virtual StatusCode finalize();
    00093   virtual StatusCode nextEvent(int maxevt);
    00095   virtual StatusCode executeEvent(void* par);
    00097   virtual StatusCode executeRun(int maxevt);
    00098 };
    00099 #endif // GAUDISVC_EVENTLOOPMGR_H