19 template <StatusCode ( IAlgContextSvc::*fun )( IAlgorithm* )>
25 if ( alg ) ( ctx->*
fun )( alg.get() ).ignore();
49 error() <<
"Invalid pointer to IAlgContextSvc" <<
endmsg;
76 call<&IAlgContextSvc::unSetCurrentAlg>(
m_svc, a );
StatusCode initialize() override
standard initialization,
constexpr static const auto FAILURE
virtual StatusCode finalize()
StatusCode service(const std::string &name, T *&svc, bool createIf=false) const
Access a service by name, creating it if it doesn't already exist.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Description: Register/Unregister the AlgContext of each algorithm before entering the algorithm and a...
void afterFinalize(INamedInterface *a) override
SmartIF< IAlgContextSvc > m_svc
the pointer to Algorithm Context Service
void beforeInitialize(INamedInterface *a) override
void afterInitialize(INamedInterface *a) override
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
StatusCode finalize() override
standard finalization,
IInterface compliant class extending IInterface with the name() method.
void beforeFinalize(INamedInterface *a) override
void afterExecute(INamedInterface *a, const StatusCode &s) override
double fun(const std::vector< double > &x)
An abstract interface for Algorithm Context Service.
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
virtual StatusCode initialize()
void beforeExecute(INamedInterface *a) override
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Base class from which all concrete auditor classes should be derived.