BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
OfflineEventLoopMgr.h
Go to the documentation of this file.
1// $Id: OfflineEventLoopMgr.h,v 1.7 2022/01/25 05:42:04 maqm Exp $
2#ifndef OFFLINE_EVENTLOOPMGR_H
3#define OFFLINE_EVENTLOOPMGR_H
4
5// Framework include files
6#include "GaudiKernel/IEvtSelector.h"
7#include "GaudiKernel/MinimalEventLoopMgr.h"
8#include "GaudiKernel/SvcFactory.h"
9
10// Forward declarations
11class IIncidentSvc;
12class IDataManagerSvc;
13class IDataProviderSvc;
14class IConversionSvc;
15/** Class definition of OfflineEventLoopMgr.
16 This is the default processing manager of the application manager.
17 This object handles the minimal requirements needed by the
18 application manager. It also handles the default user
19 configuration setup for standard event processing.
20
21 <UL>
22 <LI> handling of the incidents when starting event processing
23 <LI> handling of the event loop
24 </UL>
25
26 <B>History:</B>
27 <PRE>
28 +---------+----------------------------------------------+---------+
29 | Date | Comment | Who |
30 +---------+----------------------------------------------+---------+
31 |13/12/00 | Initial version | M.Frank |
32 +---------+----------------------------------------------+---------+
33 </PRE>
34 @author Markus Frank
35 @version 1.0
36*/
37class OfflineEventLoopMgr : public MinimalEventLoopMgr {
38public:
39 /// Creator friend class
40 friend class SvcFactory<OfflineEventLoopMgr>;
41
42protected:
43 /// Reference to the indicent service
44 IIncidentSvc* m_incidentSvc;
45 /// Reference to the Event Data Service's IDataManagerSvc interface
46 IDataManagerSvc* m_evtDataMgrSvc;
47 /// Reference to the Event Data Service's IDataProviderSvc interface
48 IDataProviderSvc* m_evtDataSvc;
49 /// Reference to the Event Selector
50 IEvtSelector* m_evtSelector;
51 /// Event Iterator
52 IEvtSelector::Context* m_evtContext;
53 /// Event selector
54 std::string m_evtsel;
55 /// Reference to the Histogram Data Service
56 IDataManagerSvc* m_histoDataMgrSvc;
57 /// Reference to the Histogram Persistency Service
58 IConversionSvc* m_histoPersSvc;
59 /// Name of the Hist Pers type
60 std::string m_histPersName;
61 /// Property interface of ApplicationMgr
62 IProperty* m_appMgrProperty;
63
64//protected:
65public:
66 /// Standard Constructor
67 OfflineEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc);
68 /// Standard Destructor
69 virtual ~OfflineEventLoopMgr();
70 /// Create event address using event selector
71 StatusCode getEventRoot(IOpaqueAddress*& refpAddr);
72
73public:
74 /// implementation of IService::initalize
75 virtual StatusCode initialize();
76 /// implementation of IService::reinitalize
77 virtual StatusCode reinitialize();
78 /// implementation of IService::finalize
79 virtual StatusCode finalize();
80 /// implementation of IService::nextEvent
81 virtual StatusCode nextEvent(int maxevt);
82 /// implementation of IEventProcessor::executeEvent(void* par)
83 virtual StatusCode executeEvent(void* par);
84 /// implementation of IEventProcessor::executeRun()
85 virtual StatusCode executeRun(int maxevt);
86
87 private:
88 double m_runNo;
89};
90#endif // OFFLINE_EVENTLOOPMGR_H
virtual StatusCode reinitialize()
implementation of IService::reinitalize
IDataProviderSvc * m_evtDataSvc
Reference to the Event Data Service's IDataProviderSvc interface.
IDataManagerSvc * m_histoDataMgrSvc
Reference to the Histogram Data Service.
virtual StatusCode executeEvent(void *par)
implementation of IEventProcessor::executeEvent(void* par)
virtual StatusCode executeRun(int maxevt)
implementation of IEventProcessor::executeRun()
StatusCode getEventRoot(IOpaqueAddress *&refpAddr)
Create event address using event selector.
IProperty * m_appMgrProperty
Property interface of ApplicationMgr.
std::string m_evtsel
Event selector.
virtual StatusCode finalize()
implementation of IService::finalize
IConversionSvc * m_histoPersSvc
Reference to the Histogram Persistency Service.
OfflineEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
virtual StatusCode initialize()
implementation of IService::initalize
std::string m_histPersName
Name of the Hist Pers type.
virtual StatusCode nextEvent(int maxevt)
implementation of IService::nextEvent
IEvtSelector::Context * m_evtContext
Event Iterator.
IDataManagerSvc * m_evtDataMgrSvc
Reference to the Event Data Service's IDataManagerSvc interface.
IEvtSelector * m_evtSelector
Reference to the Event Selector.
IIncidentSvc * m_incidentSvc
Reference to the indicent service.
virtual ~OfflineEventLoopMgr()
Standard Destructor.
Forward and external declarations.