77 static constexpr std::array<const char*, 5> label{
"Invalid",
"Success",
"AlgFail",
"AlgStall",
"Other" };
78 return os << label.at( s );
159 s.m_svc.dump( ost, s.m_ctx, s.m_algKey );
167 s.m_svc.dump( ost, s.m_ctx, s.m_algKey );
std::ostream & operator<<(std::ostream &ost, const AlgExecStateRef &s)
wrapper on an Algorithm state, const version.
const StatusCode & execStatus() const
AlgExecStateRef::AlgKey m_algKey
const EventContext & m_ctx
AlgExecStateRef::State state() const
AlgExecStateRefConst(const IAlgExecStateSvc &svc, const EventContext &ctx, AlgExecStateRef::AlgKey algKey)
friend std::ostream & operator<<(std::ostream &ost, const AlgExecStateRefConst &s)
const IAlgExecStateSvc & m_svc
bool filterPassed() const
wrapper on an Algorithm state.
void setFilterPassed(bool f=true)
friend std::ostream & operator<<(std::ostream &ost, const AlgExecStateRef &s)
const StatusCode & execStatus() const
AlgExecState::State State
AlgExecStateRef(IAlgExecStateSvc &svc, const EventContext &ctx, AlgKey algKey)
bool filterPassed() const
void setExecStatus(const StatusCode &sc=StatusCode::SUCCESS)
const EventContext & m_ctx
This class represents an entry point to all the event specific data.
Helper class for efficient "key" access for strings.
Abstract interface for a service that manages the Algorithm execution states.
virtual AlgExecStateRef::AlgKey addAlg(const Gaudi::StringKey &algName)=0
adds a new algorithm to the service
DeclareInterfaceID(IAlgExecStateSvc, 2, 0)
InterfaceID.
virtual void dump(std::ostream &, const EventContext &, AlgExecStateRef::AlgKey) const =0
virtual AlgExecStateRefConst algExecState(const std::string &algName, const EventContext &ctx) const =0
get the Algorithm Execution State for a give Algorithm by name, const version prefer using IAlgorithm...
friend class AlgExecStateRefConst
virtual void updateEventStatus(const bool &b, const EventContext &ctx)=0
virtual void setExecStatus(const EventContext &, AlgExecStateRef::AlgKey, const StatusCode &)=0
virtual AlgExecStateRef algExecState(const IAlgorithm *iAlg, const EventContext &ctx)=0
get the Algorithm Execution State for a give Algorithm and EventContext prefer using IAlgorithm::exec...
virtual void setFilterPassed(const EventContext &, AlgExecStateRef::AlgKey, bool)=0
virtual AlgExecStateRef::State state(const EventContext &, AlgExecStateRef::AlgKey) const =0
virtual const EventStatus::Status & eventStatus(const EventContext &ctx) const =0
virtual const StatusCode & execStatus(const EventContext &, AlgExecStateRef::AlgKey) const =0
virtual void resetErrorCount(const IAlgorithm *iAlg)=0
virtual void resetErrorCount()=0
virtual unsigned int algErrorCount(const IAlgorithm *iAlg) const =0
virtual AlgExecStateRefConst algExecState(const IAlgorithm *iAlg, const EventContext &ctx) const =0
get the Algorithm Execution State for a give Algorithm and EventContext, const version prefer using I...
virtual bool filterPassed(const EventContext &, AlgExecStateRef::AlgKey) const =0
virtual const std::string & algName(AlgExecStateRef::AlgKey) const =0
virtual void setState(const EventContext &, AlgExecStateRef::AlgKey, AlgExecStateRef::State, const StatusCode &)=0
virtual AlgExecStateRef algExecState(const std::string &algName, const EventContext &ctx)=0
get the Algorithm Execution State for a give Algorithm by name prefer using IAlgorithm::execState,...
virtual unsigned int incrementErrorCount(const IAlgorithm *iAlg)=0
AlgExecStateRef::AlgKey addAlg(const IAlgorithm *iAlg)
virtual void reset(const EventContext &ctx)=0
reset all states for the given EventContext
virtual void setEventStatus(const EventStatus::Status &sc, const EventContext &ctx)=0
virtual void dump(std::ostream &ost, const EventContext &ctx) const =0
virtual void setState(const EventContext &, AlgExecStateRef::AlgKey, AlgExecStateRef::State)=0
friend class AlgExecStateRef
The IAlgorithm is the interface implemented by the Algorithm base class.
virtual const Gaudi::StringKey & nameKey() const =0
StringKey rep of name.
Definition of the basic interface.
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
std::ostream & operator<<(std::ostream &os, Status s)