15 :
base_class( name, svcLoc ), m_isInit( false )
32 for (
auto& is : lst ) {
56 fatal() <<
"could not get the AlgManager" <<
endmsg;
63 for (
auto& alg : algos ) {
84 fatal() <<
"AlgExecStateSvc not initialized before first use" <<
endmsg;
120 if ( e.first.str().length() > ml ) {
121 ml = e.first.str().length();
127 for (
auto& e : m ) {
178 AlgStateMap_t::const_iterator itr =
m_algStates.
at( ctx.
slot() ).find( algName );
279 error() <<
"Unable to find Algorithm \"" << iAlg->name() <<
"\" in map" 280 <<
" of ErrorCounts" <<
endmsg;
293 error() <<
"Unable to find Algorithm \"" << iAlg->name() <<
"\" in map" 294 <<
" of ErrorCounts" <<
endmsg;
304 return ( ++( itr->second ) );
306 error() <<
"Unable to find Algorithm \"" << iAlg->name() <<
"\" in map" 307 <<
" of ErrorCounts" <<
endmsg;
328 return "Should not happen";
void resetErrorCount(const IAlgorithm *iAlg) override
StatusCode initialize() override
A service that keeps track of the execution state of Algorithm *.
Define general base for Gaudi exception.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual StatusCode finalize() override final
const std::string & name() const override
Retrieve name of the service.
const AlgExecState & algExecState(const Gaudi::StringKey &algName, const EventContext &ctx) const override
bool isSuccess() const
Test for a status code of SUCCESS.
MsgStream & verbose() const
shortcut for the method msgStream(MSG::VERBOSE)
void dump(std::ostringstream &ost, const EventContext &ctx) const override
void updateEventStatus(const bool &b, const EventContext &ctx) override
std::once_flag m_initFlag
This class represents an entry point to all the event specific data.
The helper class to represent the efficient "key" for access.
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
This class is used for returning status codes from appropriate routines.
AlgErrorMap_t m_errorCount
GAUDI_API const EventContext & currentContext()
unsigned int incrementErrorCount(const IAlgorithm *iAlg) override
auto end(reverse_wrapper< T > &w)
#define DECLARE_SERVICE_FACTORY(x)
std::vector< Gaudi::StringKey > m_preInitAlgs
std::string trans(const EventStatus::Status &sc) const
virtual const Gaudi::StringKey & nameKey() const =0
StringKey rep of name.
unsigned int algErrorCount(const IAlgorithm *iAlg) const override
The IAlgorithm is the interface implemented by the Algorithm base class.
const AlgStateMap_t & algExecStates(const EventContext &ctx) const override
void reset(const EventContext &ctx) override
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
bool isValid() const
Allow for check if smart pointer is valid.
const EventStatus::Status & eventStatus(const EventContext &ctx) const override
~AlgExecStateSvc()
Destructor.
virtual const std::list< IService * > & getServices() const =0
Get a reference to a service and create it if it does not exists.
virtual StatusCode initialize() override final
virtual const std::vector< IAlgorithm * > & getAlgorithms() const =0
Return the list of Algorithms.
std::vector< EventStatus::Status > m_eventStatus
MsgStream & fatal() const
shortcut for the method msgStream(MSG::FATAL)
virtual size_t getNumberOfStores() const =0
Get the number of 'slots'.
MSG::Level msgLevel() const
get the output level from the embedded MsgStream
void setEventStatus(const EventStatus::Status &sc, const EventContext &ctx) override
const std::string & str() const
the actual string
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
void addAlg(IAlgorithm *iAlg) override