The Gaudi Framework
v25r3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
MinimalEventLoopMgr.h
Go to the documentation of this file.
1
// $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/MinimalEventLoopMgr.h,v 1.4 2008/07/15 12:48:18 marcocle Exp $
2
#ifndef GAUDIKERNEL_MINIMALEVENTLOOPMGR_H
3
#define GAUDIKERNEL_MINIMALEVENTLOOPMGR_H 1
4
5
// Framework include files
6
#include "
GaudiKernel/Service.h
"
7
#include "
GaudiKernel/IAppMgrUI.h
"
8
#include "
GaudiKernel/IEventProcessor.h
"
9
#include "
GaudiKernel/IAlgorithm.h
"
10
#include "
GaudiKernel/IIncidentSvc.h
"
11
#include "
GaudiKernel/IIncidentListener.h
"
12
13
// STL include files
14
#include <list>
15
#include <vector>
16
26
class
GAUDI_API
MinimalEventLoopMgr
:
public
extends1
<Service, IEventProcessor>
27
{
28
public
:
29
typedef
std::list<SmartIF<IAlgorithm> >
ListAlg
;
30
typedef
std::list<IAlgorithm*>
ListAlgPtrs
;
31
typedef
std::list<std::string>
ListName
;
32
typedef
std::vector<std::string>
VectorName
;
33
34
protected
:
35
// enums
36
enum
State
{
OFFLINE
,
CONFIGURED
, FINALIZED,
INITIALIZED
};
38
SmartIF<IAppMgrUI>
m_appMgrUI
;
40
SmartIF<IIncidentSvc>
m_incidentSvc
;
42
ListAlg
m_topAlgList
;
44
ListAlg
m_outStreamList
;
46
std::string
m_outStreamType
;
48
StringArrayProperty
m_topAlgNames
;
50
StringArrayProperty
m_outStreamNames
;
52
State
m_state
;
54
bool
m_scheduledStop
;
56
SmartIF<IIncidentListener>
m_abortEventListener
;
59
bool
m_abortEvent
;
61
std::string
m_abortEventSource
;
62
63
public
:
65
MinimalEventLoopMgr
(
const
std::string& nam,
ISvcLocator
* svcLoc);
67
virtual
~
MinimalEventLoopMgr
();
68
69
#if defined(GAUDI_V20_COMPAT) && !defined(G21_NO_DEPRECATED)
70
protected
:
72
template
<
class
T> T* releaseInterface(T* iface) {
73
if
( 0 != iface ) iface->release();
74
return
0;
75
}
76
public
:
77
#endif
78
80
virtual
StatusCode
initialize
();
82
virtual
StatusCode
start
();
84
virtual
StatusCode
stop();
86
virtual
StatusCode
finalize();
88
virtual
StatusCode
reinitialize();
90
virtual
StatusCode
restart();
91
93
virtual
StatusCode
nextEvent(
int
maxevt);
95
virtual
StatusCode
executeEvent(
void
*
par
);
97
virtual
StatusCode
executeRun(
int
maxevt);
99
virtual
StatusCode
stopRun();
100
102
void
topAlgHandler(
Property
& p);
104
StatusCode
decodeTopAlgs();
106
void
outStreamHandler(
Property
& p);
108
StatusCode
decodeOutStreams();
109
110
private
:
112
MinimalEventLoopMgr
(
const
MinimalEventLoopMgr
&);
114
MinimalEventLoopMgr
& operator= (
const
MinimalEventLoopMgr
&);
115
116
};
117
#endif // GAUDIKERNEL_MINIMALEVENTLOOPMGR_H
MinimalEventLoopMgr::VectorName
std::vector< std::string > VectorName
Definition:
MinimalEventLoopMgr.h:32
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:26
MinimalEventLoopMgr::ListAlg
std::list< SmartIF< IAlgorithm > > ListAlg
Definition:
MinimalEventLoopMgr.h:29
IEventProcessor.h
Gaudi::StateMachine::CONFIGURED
Definition:
StateMachine.h:14
MinimalEventLoopMgr::m_scheduledStop
bool m_scheduledStop
Scheduled stop of event processing.
Definition:
MinimalEventLoopMgr.h:54
IAppMgrUI.h
IAlgorithm.h
MinimalEventLoopMgr::State
State
Definition:
MinimalEventLoopMgr.h:36
MinimalEventLoopMgr::ListAlgPtrs
std::list< IAlgorithm * > ListAlgPtrs
Definition:
MinimalEventLoopMgr.h:30
SimpleProperty< std::vector< std::string > >
MinimalEventLoopMgr::m_state
State m_state
State of the object.
Definition:
MinimalEventLoopMgr.h:52
Service.h
MinimalEventLoopMgr::m_abortEventSource
std::string m_abortEventSource
Source of the AbortEvent incident.
Definition:
MinimalEventLoopMgr.h:61
compareOutputFiles.par
string par
Definition:
compareOutputFiles.py:386
MinimalEventLoopMgr::m_abortEventListener
SmartIF< IIncidentListener > m_abortEventListener
Instance of the incident listener waiting for AbortEvent.
Definition:
MinimalEventLoopMgr.h:56
AnalysisTest.initialize
def initialize
Definition:
AnalysisTest.py:12
IIncidentSvc.h
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:30
extends1
Base class used to extend a class implementing other interfaces.
Definition:
extends.h:10
MinimalEventLoopMgr::m_incidentSvc
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
Definition:
MinimalEventLoopMgr.h:40
MinimalEventLoopMgr::ListName
std::list< std::string > ListName
Definition:
MinimalEventLoopMgr.h:31
Property
Property base class allowing Property* collections to be "homogeneous".
Definition:
Property.h:43
MinimalEventLoopMgr::m_outStreamList
ListAlg m_outStreamList
List of output streams.
Definition:
MinimalEventLoopMgr.h:44
IIncidentListener.h
MinimalEventLoopMgr::m_outStreamType
std::string m_outStreamType
Out Stream type.
Definition:
MinimalEventLoopMgr.h:46
MinimalEventLoopMgr
This is the default processing manager of the application manager.
Definition:
MinimalEventLoopMgr.h:26
MinimalEventLoopMgr::m_topAlgNames
StringArrayProperty m_topAlgNames
List of top level algorithms names.
Definition:
MinimalEventLoopMgr.h:48
Gaudi::StateMachine::OFFLINE
Definition:
StateMachine.h:13
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:108
MinimalEventLoopMgr::m_outStreamNames
StringArrayProperty m_outStreamNames
List of output stream names.
Definition:
MinimalEventLoopMgr.h:50
MinimalEventLoopMgr::m_appMgrUI
SmartIF< IAppMgrUI > m_appMgrUI
Reference to the IAppMgrUI interface of the application manager.
Definition:
MinimalEventLoopMgr.h:38
IOTest.start
tuple start
Definition:
IOTest.py:88
MinimalEventLoopMgr::m_topAlgList
ListAlg m_topAlgList
List of top level algorithms.
Definition:
MinimalEventLoopMgr.h:42
MinimalEventLoopMgr::m_abortEvent
bool m_abortEvent
Flag signalling that the event being processedhas to be aborted (skip all following top algs)...
Definition:
MinimalEventLoopMgr.h:59
GaudiKernel
GaudiKernel
MinimalEventLoopMgr.h
Generated on Wed Jul 9 2014 09:54:13 for The Gaudi Framework by
1.8.7