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

Generated at Wed Mar 17 18:06:41 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004