The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
IAlgExecStateSvc Class Referenceabstract

Abstract interface for a service that manages the Algorithm execution states. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/IAlgExecStateSvc.h>

Inheritance diagram for IAlgExecStateSvc:
Collaboration diagram for IAlgExecStateSvc:

Public Member Functions

 DeclareInterfaceID (IAlgExecStateSvc, 2, 0)
 InterfaceID.
 
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, it is more efficient
 
virtual AlgExecStateRef algExecState (const IAlgorithm *iAlg, const EventContext &ctx)=0
 get the Algorithm Execution State for a give Algorithm and EventContext prefer using IAlgorithm::execState, it is more efficient
 
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::execState, it is more efficient
 
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 IAlgorithm::execState, it is more efficient
 
virtual void reset (const EventContext &ctx)=0
 reset all states for the given EventContext
 
virtual AlgExecStateRef::AlgKey addAlg (const Gaudi::StringKey &algName)=0
 adds a new algorithm to the service
 
AlgExecStateRef::AlgKey addAlg (const IAlgorithm *iAlg)
 
virtual const EventStatus::StatuseventStatus (const EventContext &ctx) const =0
 
virtual void setEventStatus (const EventStatus::Status &sc, const EventContext &ctx)=0
 
virtual void updateEventStatus (const bool &b, const EventContext &ctx)=0
 
virtual unsigned int algErrorCount (const IAlgorithm *iAlg) const =0
 
virtual void resetErrorCount (const IAlgorithm *iAlg)=0
 
virtual void resetErrorCount ()=0
 
virtual unsigned int incrementErrorCount (const IAlgorithm *iAlg)=0
 
virtual void dump (std::ostream &ost, const EventContext &ctx) const =0
 
virtual void dump (std::ostream &, const EventContext &, AlgExecStateRef::AlgKey) const =0
 
- Public Member Functions inherited from IInterface
template<Gaudi::IsInterface TARGET>
TARGET * cast ()
 
template<Gaudi::IsInterface TARGET>
TARGET const * cast () const
 
template<typename TARGET>
requires ( !Gaudi::IsInterface<TARGET> )
TARGET * cast ()
 
template<typename TARGET>
requires ( !Gaudi::IsInterface<TARGET> )
TARGET const * cast () const
 
virtual std::vector< std::string > getInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces.
 
virtual unsigned long addRef () const =0
 Increment the reference count of Interface instance.
 
virtual unsigned long release () const =0
 Release Interface instance.
 
virtual unsigned long refCount () const =0
 Current reference count.
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance.
 
virtual ~IInterface ()=default
 Virtual destructor.
 
virtual void const * i_cast (const InterfaceID &) const =0
 
void * i_cast (const InterfaceID &iid)
 

Private Member Functions

virtual bool filterPassed (const EventContext &, AlgExecStateRef::AlgKey) const =0
 
virtual void setFilterPassed (const EventContext &, AlgExecStateRef::AlgKey, bool)=0
 
virtual AlgExecStateRef::State state (const EventContext &, AlgExecStateRef::AlgKey) const =0
 
virtual void setState (const EventContext &, AlgExecStateRef::AlgKey, AlgExecStateRef::State)=0
 
virtual void setState (const EventContext &, AlgExecStateRef::AlgKey, AlgExecStateRef::State, const StatusCode &)=0
 
virtual const StatusCodeexecStatus (const EventContext &, AlgExecStateRef::AlgKey) const =0
 
virtual void setExecStatus (const EventContext &, AlgExecStateRef::AlgKey, const StatusCode &)=0
 
virtual const std::string & algName (AlgExecStateRef::AlgKey) const =0
 

Friends

class AlgExecStateRefConst
 
class AlgExecStateRef
 

Additional Inherited Members

- Public Types inherited from IInterface
enum class  Status : StatusCode::code_t {
  FAILURE = 0 , SUCCESS = 1 , NO_INTERFACE , VERSMISMATCH ,
  LAST_ERROR
}
 Return status. More...
 
using iid = Gaudi::InterfaceId<IInterface, 0, 0>
 Interface ID.
 
using ext_iids = Gaudi::interface_list<iid>
 Extra interfaces.
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface.
 
- Protected Member Functions inherited from IInterface
virtual unsigned long decRef () const =0
 Decrement reference count and return the new reference count.
 

Detailed Description

Abstract interface for a service that manages the Algorithm execution states.

This service allows to handle execStates of algorithms. Algorithms are identified by their AlgKey and the EventContext to be used. The interface allows to retrieve an algExecState for a given algorithm and reuse it. It is actually a wrapper on the actual State with the same interface allowing more efficient subsequent calls for that algorithm (setState, setFilterPassed, ...)

Author
Charles Leggett
Date
2016-04-12

Definition at line 94 of file IAlgExecStateSvc.h.

Member Function Documentation

◆ addAlg() [1/2]

virtual AlgExecStateRef::AlgKey IAlgExecStateSvc::addAlg ( const Gaudi::StringKey & algName)
pure virtual

adds a new algorithm to the service

◆ addAlg() [2/2]

AlgExecStateRef::AlgKey IAlgExecStateSvc::addAlg ( const IAlgorithm * iAlg)
inline

Definition at line 120 of file IAlgExecStateSvc.h.

120{ return addAlg( iAlg->nameKey() ); }
virtual AlgExecStateRef::AlgKey addAlg(const Gaudi::StringKey &algName)=0
adds a new algorithm to the service
virtual const Gaudi::StringKey & nameKey() const =0
StringKey rep of name.

◆ algErrorCount()

virtual unsigned int IAlgExecStateSvc::algErrorCount ( const IAlgorithm * iAlg) const
pure virtual

◆ algExecState() [1/4]

virtual AlgExecStateRefConst IAlgExecStateSvc::algExecState ( const IAlgorithm * iAlg,
const EventContext & ctx ) const
pure virtual

get the Algorithm Execution State for a give Algorithm and EventContext, const version prefer using IAlgorithm::execState, it is more efficient

◆ algExecState() [2/4]

virtual AlgExecStateRef IAlgExecStateSvc::algExecState ( const IAlgorithm * iAlg,
const EventContext & ctx )
pure virtual

get the Algorithm Execution State for a give Algorithm and EventContext prefer using IAlgorithm::execState, it is more efficient

◆ algExecState() [3/4]

virtual AlgExecStateRefConst IAlgExecStateSvc::algExecState ( const std::string & algName,
const EventContext & ctx ) const
pure virtual

get the Algorithm Execution State for a give Algorithm by name, const version prefer using IAlgorithm::execState, it is more efficient

◆ algExecState() [4/4]

virtual AlgExecStateRef IAlgExecStateSvc::algExecState ( const std::string & algName,
const EventContext & ctx )
pure virtual

get the Algorithm Execution State for a give Algorithm by name prefer using IAlgorithm::execState, it is more efficient

◆ algName()

virtual const std::string & IAlgExecStateSvc::algName ( AlgExecStateRef::AlgKey ) const
privatepure virtual

◆ DeclareInterfaceID()

IAlgExecStateSvc::DeclareInterfaceID ( IAlgExecStateSvc ,
2 ,
0  )

◆ dump() [1/2]

virtual void IAlgExecStateSvc::dump ( std::ostream & ,
const EventContext & ,
AlgExecStateRef::AlgKey  ) const
pure virtual

◆ dump() [2/2]

virtual void IAlgExecStateSvc::dump ( std::ostream & ost,
const EventContext & ctx ) const
pure virtual

◆ eventStatus()

virtual const EventStatus::Status & IAlgExecStateSvc::eventStatus ( const EventContext & ctx) const
pure virtual

◆ execStatus()

virtual const StatusCode & IAlgExecStateSvc::execStatus ( const EventContext & ,
AlgExecStateRef::AlgKey  ) const
privatepure virtual

◆ filterPassed()

virtual bool IAlgExecStateSvc::filterPassed ( const EventContext & ,
AlgExecStateRef::AlgKey  ) const
privatepure virtual

◆ incrementErrorCount()

virtual unsigned int IAlgExecStateSvc::incrementErrorCount ( const IAlgorithm * iAlg)
pure virtual

◆ reset()

virtual void IAlgExecStateSvc::reset ( const EventContext & ctx)
pure virtual

reset all states for the given EventContext

◆ resetErrorCount() [1/2]

virtual void IAlgExecStateSvc::resetErrorCount ( )
pure virtual

◆ resetErrorCount() [2/2]

virtual void IAlgExecStateSvc::resetErrorCount ( const IAlgorithm * iAlg)
pure virtual

◆ setEventStatus()

virtual void IAlgExecStateSvc::setEventStatus ( const EventStatus::Status & sc,
const EventContext & ctx )
pure virtual

◆ setExecStatus()

virtual void IAlgExecStateSvc::setExecStatus ( const EventContext & ,
AlgExecStateRef::AlgKey ,
const StatusCode &  )
privatepure virtual

◆ setFilterPassed()

virtual void IAlgExecStateSvc::setFilterPassed ( const EventContext & ,
AlgExecStateRef::AlgKey ,
bool  )
privatepure virtual

◆ setState() [1/2]

virtual void IAlgExecStateSvc::setState ( const EventContext & ,
AlgExecStateRef::AlgKey ,
AlgExecStateRef::State  )
privatepure virtual

◆ setState() [2/2]

virtual void IAlgExecStateSvc::setState ( const EventContext & ,
AlgExecStateRef::AlgKey ,
AlgExecStateRef::State ,
const StatusCode &  )
privatepure virtual

◆ state()

virtual AlgExecStateRef::State IAlgExecStateSvc::state ( const EventContext & ,
AlgExecStateRef::AlgKey  ) const
privatepure virtual

◆ updateEventStatus()

virtual void IAlgExecStateSvc::updateEventStatus ( const bool & b,
const EventContext & ctx )
pure virtual

Friends And Related Symbol Documentation

◆ AlgExecStateRef

friend class AlgExecStateRef
friend

Definition at line 145 of file IAlgExecStateSvc.h.

◆ AlgExecStateRefConst

friend class AlgExecStateRefConst
friend

Definition at line 144 of file IAlgExecStateSvc.h.


The documentation for this class was generated from the following file: