The Gaudi Framework
v28r0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
AlgExecStateSvc.h
Go to the documentation of this file.
1
#ifndef GAUDICORESVC_ALGEXECSTATESVC_H
2
#define GAUDICORESVC_ALGEXECSTATESVC_H 1
3
4
5
#include "
GaudiKernel/Service.h
"
6
#include "
GaudiKernel/IAlgExecStateSvc.h
"
7
#include "
GaudiKernel/IAlgorithm.h
"
8
9
10
#include <vector>
11
#include <map>
12
#include <mutex>
13
18
class
AlgExecStateSvc
:
public
extends
<Service,
19
IAlgExecStateSvc> {
20
public
:
22
AlgExecStateSvc
(
const
std::string
&
name
,
ISvcLocator
* svc );
23
25
~AlgExecStateSvc
();
26
27
virtual
StatusCode
initialize
()
override
final
;
28
virtual
StatusCode
finalize
()
override
final
;
29
30
typedef
IAlgExecStateSvc::AlgStateMap_t
AlgStateMap_t
;
31
32
const
AlgExecState
&
algExecState
(
const
Gaudi::StringKey
& algName,
33
const
EventContext
& ctx)
const override
;
34
const
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg,
35
const
EventContext
& ctx)
const override
;
36
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg,
37
const
EventContext
& ctx)
override
;
38
const
AlgStateMap_t&
algExecStates
(
const
EventContext
& ctx)
const override
;
39
40
41
const
AlgExecState
&
algExecState
(
const
Gaudi::StringKey
& algName)
const override
;
42
const
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg)
const override
;
43
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg)
override
;
44
const
AlgStateMap_t&
algExecStates
()
const override
;
45
46
47
void
reset
(
const
EventContext
& ctx)
override
;
48
void
reset
()
override
;
49
50
void
addAlg
(
IAlgorithm
* iAlg)
override
;
51
void
addAlg
(
const
Gaudi::StringKey
& algName)
override
;
52
53
const
EventStatus::Status
&
eventStatus
()
const override
;
54
const
EventStatus::Status
&
eventStatus
(
const
EventContext
& ctx)
const override
;
55
56
void
setEventStatus
(
const
EventStatus::Status
& sc)
override
;
57
void
setEventStatus
(
const
EventStatus::Status
& sc,
const
EventContext
& ctx)
override
;
58
59
void
updateEventStatus
(
const
bool
& b)
override
;
60
void
updateEventStatus
(
const
bool
& b,
const
EventContext
& ctx)
override
;
61
62
void
dump
(
std::ostringstream
& ost)
const override
;
63
void
dump
(
std::ostringstream
& ost,
const
EventContext
& ctx)
const override
;
64
65
private
:
66
67
std::string
trans
(
const
EventStatus::Status
& sc)
const
;
68
69
// one vector entry per event slot
70
// typedef std::map<Gaudi::StringKey, AlgExecState> AlgStateMap_t;
71
typedef
std::vector< AlgStateMap_t >
AlgStates_t
;
72
AlgStates_t
m_algStates
;
73
74
std::vector< EventStatus::Status >
m_eventStatus
;
75
std::vector< Gaudi::StringKey >
m_preInitAlgs
;
76
77
void
init
();
78
void
checkInit
()
const
;
79
std::once_flag
m_initFlag
;
80
bool
m_isInit
;
81
82
std::mutex
m_mut
;
83
};
84
85
#endif
AlgExecStateSvc::reset
void reset() override
Definition:
AlgExecStateSvc.cpp:421
AlgExecStateSvc
A service that keeps track of the execution state of Algorithm *.
Definition:
AlgExecStateSvc.h:18
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition:
ISvcLocator.h:25
AlgExecStateSvc::AlgStateMap_t
IAlgExecStateSvc::AlgStateMap_t AlgStateMap_t
Definition:
AlgExecStateSvc.h:30
AlgExecStateSvc::finalize
virtual StatusCode finalize() override final
Definition:
AlgExecStateSvc.cpp:120
Service::name
const std::string & name() const override
Retrieve name of the service.
Definition:
Service.cpp:289
IAlgExecStateSvc.h
AlgExecStateSvc::algExecState
const AlgExecState & algExecState(const Gaudi::StringKey &algName, const EventContext &ctx) const override
Definition:
AlgExecStateSvc.cpp:225
AlgExecStateSvc::m_algStates
AlgStates_t m_algStates
Definition:
AlgExecStateSvc.h:72
AlgExecStateSvc::init
void init()
Definition:
AlgExecStateSvc.cpp:29
IAlgorithm.h
AlgExecStateSvc::m_eventStatus
std::vector< EventStatus::Status > m_eventStatus
Definition:
AlgExecStateSvc.h:74
AlgExecStateSvc::m_initFlag
std::once_flag m_initFlag
Definition:
AlgExecStateSvc.h:79
std::once_flag
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:25
std::map
STL class.
Gaudi::StringKey
The helper class to represent the efficient "key" for access.
Definition:
StringKey.h:35
std::mutex
AlgExecStateSvc::updateEventStatus
void updateEventStatus(const bool &b) override
Definition:
AlgExecStateSvc.cpp:369
std::string
STL class.
AlgExecStateSvc::checkInit
void checkInit() const
Definition:
AlgExecStateSvc.cpp:90
Service.h
AlgExecStateSvc::dump
void dump(std::ostringstream &ost) const override
Definition:
AlgExecStateSvc.cpp:129
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:26
std::ostringstream
STL class.
AlgExecStateSvc::trans
std::string trans(const EventStatus::Status &sc) const
Definition:
AlgExecStateSvc.cpp:438
EventStatus::Status
Status
Definition:
IAlgExecStateSvc.h:62
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:27
AlgExecStateSvc::m_isInit
bool m_isInit
Definition:
AlgExecStateSvc.h:80
AlgExecStateSvc::m_mut
std::mutex m_mut
Definition:
AlgExecStateSvc.h:82
std::vector< AlgStateMap_t >
extends
Base class used to extend a class implementing other interfaces.
Definition:
extends.h:10
AlgExecStateSvc::setEventStatus
void setEventStatus(const EventStatus::Status &sc) override
Definition:
AlgExecStateSvc.cpp:361
AlgExecStateSvc::~AlgExecStateSvc
~AlgExecStateSvc()
Destructor.
Definition:
AlgExecStateSvc.cpp:22
AlgExecStateSvc::AlgExecStateSvc
AlgExecStateSvc(const std::string &name, ISvcLocator *svc)
Constructor.
Definition:
AlgExecStateSvc.cpp:14
AlgExecStateSvc::initialize
virtual StatusCode initialize() override final
Definition:
AlgExecStateSvc.cpp:102
AlgExecStateSvc::AlgStates_t
std::vector< AlgStateMap_t > AlgStates_t
Definition:
AlgExecStateSvc.h:71
AlgExecState
Definition:
IAlgExecStateSvc.h:27
AlgExecStateSvc::addAlg
void addAlg(IAlgorithm *iAlg) override
Definition:
AlgExecStateSvc.cpp:181
AlgExecStateSvc::m_preInitAlgs
std::vector< Gaudi::StringKey > m_preInitAlgs
Definition:
AlgExecStateSvc.h:75
AlgExecStateSvc::eventStatus
const EventStatus::Status & eventStatus() const override
Definition:
AlgExecStateSvc.cpp:345
AlgExecStateSvc::algExecStates
const AlgStateMap_t & algExecStates() const override
Definition:
AlgExecStateSvc.cpp:327
GaudiCoreSvc
src
AlgExecStateSvc
AlgExecStateSvc.h
Generated on Fri Nov 11 2016 18:44:48 for The Gaudi Framework by
1.8.11