This class represents an entry point to all the event specific data.
AlgContext(IAlgorithm *alg, IAlgContextSvc *svc, const EventContext &context)
constructor from the service and the algorithm Internally invokes IAlgContextSvc::setCurrentAlg
AlgContext & operator=(const AlgContext &right)=delete
AlgContext(const AlgContext &right)=delete
const EventContext & m_context
SmartIF< IAlgorithm > m_alg
AlgContext(IAlgorithm *alg, IAlgContextSvc *svc, EventContext &&context)=delete
Prevent use of temporary EventContext as current context.
SmartIF< IAlgContextSvc > m_svc
An abstract interface for Algorithm Context Service.
std::vector< IAlgorithm * > Algorithms
the actual type of algorithm' stack
DeclareInterfaceID(IAlgContextSvc, 4, 0)
InterfaceID.
virtual const Algorithms & algorithms() const =0
get the stack of executed algorithms
virtual IAlgorithm * currentAlg() const =0
accessor to current algorithm:
virtual StatusCode setCurrentAlg(IAlgorithm *a, const EventContext &context)=0
set the currently executing algorithm ("push_back")
virtual StatusCode unSetCurrentAlg(IAlgorithm *a, const EventContext &context)=0
remove the algorithm ("pop_back")