| The Gaudi Framework v32r1 (f65d50dc)

EventLoopMgr.h
Go to the documentation of this file.
1 #ifndef GAUDISVC_EVENTLOOPMGR_H
2 #define GAUDISVC_EVENTLOOPMGR_H 1
3
4 #include <GaudiKernel/IConversionSvc.h>
5 #include <GaudiKernel/IDataManagerSvc.h>
6 #include <GaudiKernel/IDataProviderSvc.h>
7 #include <GaudiKernel/IEvtSelector.h>
8 #include <GaudiKernel/IIncidentSvc.h>
9 #include <GaudiKernel/MinimalEventLoopMgr.h>
10 #include <memory>
11
34 class EventLoopMgr : public MinimalEventLoopMgr {
35 public:
36 protected:
37 // Properties
38
39 Gaudi::Property<std::string> m_histPersName{this, "HistogramPersistency", {}, "name of the Hist Pers type"};
40 Gaudi::Property<std::string> m_evtsel{this, "EvtSel", {}, "event selector"};
41 Gaudi::Property<bool> m_warnings{this, "Warnings", true, "set to false to suppress warning messages"};
42
44 SmartIF<IDataManagerSvc> m_evtDataMgrSvc = nullptr;
46 SmartIF<IDataProviderSvc> m_evtDataSvc = nullptr;
48 SmartIF<IEvtSelector> m_evtSelector = nullptr;
50 IEvtSelector::Context* m_evtContext = nullptr;
52 SmartIF<IDataManagerSvc> m_histoDataMgrSvc = nullptr;
54 SmartIF<IConversionSvc> m_histoPersSvc = nullptr;
56 SmartIF<IProperty> m_appMgrProperty = nullptr;
59 bool m_endEventFired = true;
60
61 public:
62 // inherit contructor from base class
63 using MinimalEventLoopMgr::MinimalEventLoopMgr;
64
66 ~EventLoopMgr() override;
68 StatusCode getEventRoot( IOpaqueAddress*& refpAddr );
69
71 StatusCode initialize() override;
73 StatusCode reinitialize() override;
75 StatusCode stop() override;
77 StatusCode finalize() override;
79 StatusCode nextEvent( int maxevt ) override;
81 StatusCode executeEvent( EventContext&& ctx ) override;
82 };
83 #endif // GAUDISVC_EVENTLOOPMGR_H
SmartIF< IDataManagerSvc >
EventLoopMgr::finalize
StatusCode finalize() override
implementation of IService::finalize
Definition: EventLoopMgr.cpp:171
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:352
EventLoopMgr::m_histoPersSvc
SmartIF< IConversionSvc > m_histoPersSvc
Reference to the Histogram Persistency Service.
Definition: EventLoopMgr.h:54
EventLoopMgr::m_warnings
Gaudi::Property< bool > m_warnings
Definition: EventLoopMgr.h:41
EventLoopMgr::executeEvent
StatusCode executeEvent(EventContext &&ctx) override
implementation of IEventProcessor::executeEvent(EventContext&&)
Definition: EventLoopMgr.cpp:232
EventLoopMgr::reinitialize
StatusCode reinitialize() override
implementation of IService::reinitialize
Definition: EventLoopMgr.cpp:96
IEvtSelector::Context
Definition: IEvtSelector.h:23
EventContext
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
EventLoopMgr
Class definition of EventLoopMgr.
Definition: EventLoopMgr.h:34
IDataManagerSvc.h
IDataProviderSvc.h
EventLoopMgr::m_histPersName
Gaudi::Property< std::string > m_histPersName
Definition: EventLoopMgr.h:39
IIncidentSvc.h
EventLoopMgr::nextEvent
StatusCode nextEvent(int maxevt) override
implementation of IEventProcessor::nextEvent
Definition: EventLoopMgr.cpp:259
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
EventLoopMgr::getEventRoot
StatusCode getEventRoot(IOpaqueAddress *&refpAddr)
Create event address using event selector.
Definition: EventLoopMgr.cpp:348
EventLoopMgr::m_evtDataMgrSvc
SmartIF< IDataManagerSvc > m_evtDataMgrSvc
Reference to the Event Data Service's IDataManagerSvc interface.
Definition: EventLoopMgr.h:44
EventLoopMgr::initialize
StatusCode initialize() override
implementation of IService::initialize
Definition: EventLoopMgr.cpp:26
IConversionSvc.h
MinimalEventLoopMgr.h
EventLoopMgr::m_appMgrProperty
SmartIF< IProperty > m_appMgrProperty
Property interface of ApplicationMgr.
Definition: EventLoopMgr.h:56
EventLoopMgr::m_evtContext
IEvtSelector::Context * m_evtContext
Event Iterator.
Definition: EventLoopMgr.h:50
EventLoopMgr::m_evtSelector
SmartIF< IEvtSelector > m_evtSelector
Reference to the Event Selector.
Definition: EventLoopMgr.h:48
EventLoopMgr::stop
StatusCode stop() override
implementation of IService::stop
Definition: EventLoopMgr.cpp:159
EventLoopMgr::m_evtsel
Gaudi::Property< std::string > m_evtsel
Definition: EventLoopMgr.h:40
EventLoopMgr::m_endEventFired
bool m_endEventFired
Flag to avoid to fire the EnvEvent incident twice in a row (and also not before the first event)
Definition: EventLoopMgr.h:59
EventLoopMgr::m_evtDataSvc
SmartIF< IDataProviderSvc > m_evtDataSvc
Reference to the Event Data Service's IDataProviderSvc interface.
Definition: EventLoopMgr.h:46
IEvtSelector.h
MinimalEventLoopMgr
This is the default processing manager of the application manager.
Definition: MinimalEventLoopMgr.h:25
EventLoopMgr::~EventLoopMgr
~EventLoopMgr() override
Standard Destructor.
Definition: EventLoopMgr.cpp:21
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
maxevt
int maxevt
Definition: Bootstrap.cpp:260
MinimalEventLoopMgr::MinimalEventLoopMgr
MinimalEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
Definition: MinimalEventLoopMgr.cpp:28
EventLoopMgr::m_histoDataMgrSvc
SmartIF< IDataManagerSvc > m_histoDataMgrSvc
Reference to the Histogram Data Service.
Definition: EventLoopMgr.h:52