The Gaudi Framework
v30r1 (5d4f4ae2)
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
#include "
GaudiKernel/IAlgExecStateSvc.h
"
5
#include "
GaudiKernel/IAlgorithm.h
"
6
#include "
GaudiKernel/Service.h
"
7
8
#include <map>
9
#include <mutex>
10
#include <vector>
11
16
class
AlgExecStateSvc
:
public
extends
<Service, IAlgExecStateSvc>
17
{
18
public
:
20
using
extends::extends;
21
22
typedef
IAlgExecStateSvc::AlgStateMap_t
AlgStateMap_t
;
23
24
const
AlgExecState
&
algExecState
(
const
Gaudi::StringKey
& algName,
const
EventContext
& ctx )
const override
;
25
const
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg,
const
EventContext
& ctx )
const override
;
26
AlgExecState
&
algExecState
(
IAlgorithm
* iAlg,
const
EventContext
& ctx )
override
;
27
const
AlgStateMap_t&
algExecStates
(
const
EventContext
& ctx )
const override
;
28
29
void
reset
(
const
EventContext
& ctx )
override
;
30
31
void
addAlg
(
IAlgorithm
* iAlg )
override
;
32
void
addAlg
(
const
Gaudi::StringKey
& algName )
override
;
33
34
const
EventStatus::Status
&
eventStatus
(
const
EventContext
& ctx )
const override
;
35
36
void
setEventStatus
(
const
EventStatus::Status
& sc,
const
EventContext
& ctx )
override
;
37
38
void
updateEventStatus
(
const
bool
& b,
const
EventContext
& ctx )
override
;
39
40
unsigned
int
algErrorCount
(
const
IAlgorithm
* iAlg )
const override
;
41
void
resetErrorCount
(
const
IAlgorithm
* iAlg )
override
;
42
unsigned
int
incrementErrorCount
(
const
IAlgorithm
* iAlg )
override
;
43
44
void
dump
(
std::ostringstream
& ost,
const
EventContext
& ctx )
const override
;
45
46
private
:
47
// one vector entry per event slot
48
std::vector<AlgStateMap_t>
m_algStates
;
49
50
std::vector<EventStatus::Status>
m_eventStatus
;
51
std::vector<Gaudi::StringKey>
m_preInitAlgs
;
52
53
std::map<Gaudi::StringKey, std::atomic<unsigned int>
>
m_errorCount
;
54
55
void
init
();
56
void
checkInit
()
const
;
57
std::once_flag
m_initFlag
;
58
bool
m_isInit
=
false
;
59
60
std::mutex
m_mut
;
61
};
62
63
#endif
AlgExecStateSvc::resetErrorCount
void resetErrorCount(const IAlgorithm *iAlg) override
Definition:
AlgExecStateSvc.cpp:226
AlgExecStateSvc
A service that keeps track of the execution state of Algorithm *.
Definition:
AlgExecStateSvc.h:16
AlgExecStateSvc::AlgStateMap_t
IAlgExecStateSvc::AlgStateMap_t AlgStateMap_t
Definition:
AlgExecStateSvc.h:22
AlgExecStateSvc::m_algStates
std::vector< AlgStateMap_t > m_algStates
Definition:
AlgExecStateSvc.h:48
IAlgExecStateSvc.h
AlgExecStateSvc::algExecState
const AlgExecState & algExecState(const Gaudi::StringKey &algName, const EventContext &ctx) const override
Definition:
AlgExecStateSvc.cpp:125
AlgExecStateSvc::init
void init()
Definition:
AlgExecStateSvc.cpp:14
IAlgorithm.h
AlgExecStateSvc::m_errorCount
std::map< Gaudi::StringKey, std::atomic< unsigned int > > m_errorCount
Definition:
AlgExecStateSvc.h:53
AlgExecStateSvc::dump
void dump(std::ostringstream &ost, const EventContext &ctx) const override
Definition:
AlgExecStateSvc.cpp:73
AlgExecStateSvc::updateEventStatus
void updateEventStatus(const bool &b, const EventContext &ctx) override
Definition:
AlgExecStateSvc.cpp:187
AlgExecStateSvc::m_initFlag
std::once_flag m_initFlag
Definition:
AlgExecStateSvc.h:57
std::once_flag
EventContext
This class represents an entry point to all the event specific data.
Definition:
EventContext.h:24
std::map
STL class.
Gaudi::StringKey
The helper class to represent the efficient "key" for access.
Definition:
StringKey.h:35
std::mutex
AlgExecStateSvc::checkInit
void checkInit() const
Definition:
AlgExecStateSvc.cpp:62
Service.h
std::ostringstream
STL class.
AlgExecStateSvc::incrementErrorCount
unsigned int incrementErrorCount(const IAlgorithm *iAlg) override
Definition:
AlgExecStateSvc.cpp:239
AlgExecStateSvc::m_preInitAlgs
std::vector< Gaudi::StringKey > m_preInitAlgs
Definition:
AlgExecStateSvc.h:51
EventStatus::Status
Status
Definition:
IAlgExecStateSvc.h:67
AlgExecStateSvc::algErrorCount
unsigned int algErrorCount(const IAlgorithm *iAlg) const override
Definition:
AlgExecStateSvc.cpp:212
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:28
AlgExecStateSvc::m_isInit
bool m_isInit
Definition:
AlgExecStateSvc.h:58
AlgExecStateSvc::algExecStates
const AlgStateMap_t & algExecStates(const EventContext &ctx) const override
Definition:
AlgExecStateSvc.cpp:163
AlgExecStateSvc::m_mut
std::mutex m_mut
Definition:
AlgExecStateSvc.h:60
AlgExecStateSvc::reset
void reset(const EventContext &ctx) override
Definition:
AlgExecStateSvc.cpp:200
std::vector
STL class.
extends
Base class used to extend a class implementing other interfaces.
Definition:
extends.h:10
AlgExecStateSvc::eventStatus
const EventStatus::Status & eventStatus(const EventContext &ctx) const override
Definition:
AlgExecStateSvc.cpp:171
AlgExecStateSvc::m_eventStatus
std::vector< EventStatus::Status > m_eventStatus
Definition:
AlgExecStateSvc.h:50
AlgExecStateSvc::setEventStatus
void setEventStatus(const EventStatus::Status &sc, const EventContext &ctx) override
Definition:
AlgExecStateSvc.cpp:179
AlgExecState
Definition:
IAlgExecStateSvc.h:27
AlgExecStateSvc::addAlg
void addAlg(IAlgorithm *iAlg) override
Definition:
AlgExecStateSvc.cpp:92
GaudiCoreSvc
src
AlgExecStateSvc
AlgExecStateSvc.h
Generated on Thu Dec 21 2017 14:59:30 for The Gaudi Framework by
1.8.11