The Gaudi Framework
v28r0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
MinimalEventLoopMgr.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_MINIMALEVENTLOOPMGR_H
2
#define GAUDIKERNEL_MINIMALEVENTLOOPMGR_H 1
3
4
// Framework include files
5
#include "
GaudiKernel/EventContext.h
"
6
#include "
GaudiKernel/IAlgExecStateSvc.h
"
7
#include "
GaudiKernel/IAlgorithm.h
"
8
#include "
GaudiKernel/IAppMgrUI.h
"
9
#include "
GaudiKernel/IEventProcessor.h
"
10
#include "
GaudiKernel/IIncidentListener.h
"
11
#include "
GaudiKernel/IIncidentSvc.h
"
12
#include "
GaudiKernel/Service.h
"
13
14
// STL include files
15
#include <list>
16
#include <vector>
17
27
class
GAUDI_API
MinimalEventLoopMgr
:
public
extends
<Service, IEventProcessor>
28
{
29
public
:
30
typedef
std::vector<SmartIF<IAlgorithm>
>
ListAlg
;
31
32
protected
:
33
// Properties
34
Gaudi::Property<std::vector<std::string>
> m_topAlgNames{
this
,
"TopAlg"
, {},
"list of top level algorithms names"
};
35
Gaudi::Property<std::vector<std::string>
> m_outStreamNames{
this
,
"OutStream"
, {},
"list of output stream names"
};
36
Gaudi::Property<std::string>
m_outStreamType{
this
,
"OutStreamType"
,
"OutputStream"
,
37
"[[deprecated]] default type for OutputStream instances"
};
38
39
// enums
40
enum
State
{
OFFLINE
,
CONFIGURED
, FINALIZED,
INITIALIZED
};
42
SmartIF<IAppMgrUI>
m_appMgrUI
;
44
SmartIF<IIncidentSvc>
m_incidentSvc
;
46
SmartIF<IAlgExecStateSvc>
m_aess
;
47
ListAlg
m_topAlgList
;
49
ListAlg
m_outStreamList
;
51
State
m_state =
OFFLINE
;
53
bool
m_scheduledStop =
false
;
55
SmartIF<IIncidentListener>
m_abortEventListener
;
58
bool
m_abortEvent =
false
;
60
std::string
m_abortEventSource
;
61
62
public
:
64
MinimalEventLoopMgr
(
const
std::string
& nam,
ISvcLocator
* svcLoc );
65
66
#if defined( GAUDI_V20_COMPAT ) && !defined( G21_NO_DEPRECATED )
67
protected
:
69
template
<
class
T>
70
T* releaseInterface( T* iface )
71
{
72
if
( 0 != iface ) iface->release();
73
return
0;
74
}
75
76
public
:
77
#endif
78
80
StatusCode
initialize()
override
;
82
StatusCode
start
()
override
;
84
StatusCode
stop()
override
;
86
StatusCode
finalize()
override
;
88
StatusCode
reinitialize()
override
;
90
StatusCode
restart()
override
;
91
93
StatusCode
nextEvent(
int
maxevt
)
override
;
95
StatusCode
executeEvent(
void
*
par
)
override
;
97
StatusCode
executeRun
(
int
maxevt
)
override
;
99
StatusCode
stopRun()
override
;
100
102
void
topAlgHandler(
Gaudi::Details::PropertyBase
& p );
104
StatusCode
decodeTopAlgs();
106
void
outStreamHandler(
Gaudi::Details::PropertyBase
& p );
108
StatusCode
decodeOutStreams();
109
110
private
:
112
MinimalEventLoopMgr
(
const
MinimalEventLoopMgr
& );
114
MinimalEventLoopMgr
&
operator=
(
const
MinimalEventLoopMgr
& );
115
117
EventContext
*
m_eventContext
;
118
119
// number of events processed
120
size_t
m_nevt {0};
121
122
};
123
#endif // GAUDIKERNEL_MINIMALEVENTLOOPMGR_H
Gaudi::StateMachine::INITIALIZED
Definition:
StateMachine.h:15
SmartIF< IAppMgrUI >
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition:
ISvcLocator.h:25
IEventProcessor.h
Gaudi::StateMachine::CONFIGURED
Definition:
StateMachine.h:14
IAlgExecStateSvc.h
Gaudi::Property
Implementation of property with value of concrete type.
Definition:
Property.h:313
IAppMgrUI.h
MinimalEventLoopMgr::m_aess
SmartIF< IAlgExecStateSvc > m_aess
List of top level algorithms.
Definition:
MinimalEventLoopMgr.h:46
IAlgorithm.h
MinimalEventLoopMgr::State
State
Definition:
MinimalEventLoopMgr.h:40
EventContext.h
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:25
operator=
PropertyMgr & operator=(const PropertyMgr &)=delete
std::string
STL class.
Service.h
MinimalEventLoopMgr::ListAlg
std::vector< SmartIF< IAlgorithm > > ListAlg
Definition:
MinimalEventLoopMgr.h:30
MinimalEventLoopMgr::m_abortEventSource
std::string m_abortEventSource
Source of the AbortEvent incident.
Definition:
MinimalEventLoopMgr.h:60
MinimalEventLoopMgr::m_abortEventListener
SmartIF< IIncidentListener > m_abortEventListener
Instance of the incident listener waiting for AbortEvent.
Definition:
MinimalEventLoopMgr.h:55
compareOutputFiles.par
string par
Definition:
compareOutputFiles.py:386
IIncidentSvc.h
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:26
IOTest.start
start
Definition:
IOTest.py:88
Gaudi::Details::PropertyBase
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition:
Property.h:32
MinimalEventLoopMgr::m_incidentSvc
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
Definition:
MinimalEventLoopMgr.h:44
std::vector
STL class.
MinimalEventLoopMgr::m_outStreamList
ListAlg m_outStreamList
List of output streams.
Definition:
MinimalEventLoopMgr.h:49
extends
Base class used to extend a class implementing other interfaces.
Definition:
extends.h:10
IIncidentListener.h
MinimalEventLoopMgr
This is the default processing manager of the application manager.
Definition:
MinimalEventLoopMgr.h:27
maxevt
int maxevt
Definition:
Bootstrap.cpp:279
executeRun
return ep &&ep executeRun(maxevt).isSuccess()
Gaudi::StateMachine::OFFLINE
Definition:
StateMachine.h:13
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:107
MinimalEventLoopMgr::m_eventContext
EventContext * m_eventContext
EventContext.
Definition:
MinimalEventLoopMgr.h:117
MinimalEventLoopMgr::m_appMgrUI
SmartIF< IAppMgrUI > m_appMgrUI
Reference to the IAppMgrUI interface of the application manager.
Definition:
MinimalEventLoopMgr.h:42
MinimalEventLoopMgr::m_topAlgList
ListAlg m_topAlgList
Definition:
MinimalEventLoopMgr.h:47
GaudiKernel
GaudiKernel
MinimalEventLoopMgr.h
Generated on Fri Nov 11 2016 18:44:54 for The Gaudi Framework by
1.8.11