Go to the documentation of this file.
17 template <StatusCode ( Gaudi::Algorithm::*f )(),
typename C>
18 bool for_algorithms( C&
c ) {
20 [](
bool b,
Gaudi::Algorithm* a ) {
return ( a->*f )().isSuccess() && b; } );
28 if ( !for_algorithms<&Algorithm::sysInitialize>(
m_subAlgms ) ) {
29 error() <<
"error initializing one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
42 if ( !for_algorithms<&Algorithm::sysFinalize>(
m_subAlgms ) ) {
43 error() <<
"error finalizing one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
58 if ( !for_algorithms<&Algorithm::sysStart>(
m_subAlgms ) ) {
59 error() <<
"error starting one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
68 if ( !for_algorithms<&Algorithm::sysStop>(
m_subAlgms ) ) {
69 error() <<
"error stopping one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
78 if ( !for_algorithms<&Algorithm::sysReinitialize>(
m_subAlgms ) ) {
79 error() <<
"error re-initializing one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
88 if ( !for_algorithms<&Algorithm::sysRestart>(
m_subAlgms ) ) {
89 error() <<
"error re-restarting one or several sub-algorithms of Sequence " <<
name() <<
endmsg;
117 pSubAlgorithm =
dynamic_cast<Algorithm*
>( tmp );
void acceptDHVisitor(IDataHandleVisitor *) const override
const std::string & name() const override
The identifying name of the algorithm object.
StatusCode createSubAlgorithm(const std::string &type, const std::string &name, Algorithm *&pSubAlg)
Create a sub algorithm.
const std::string & type() const override
The type of the algorithm object.
StatusCode initialize() override
the default (empty) implementation of IStateful::initialize() method
SmartIF< ISvcLocator > & serviceLocator() const override
The standard service locator.
StatusCode finalize() override
System finalization.
StatusCode stop() override
System stop.
StatusCode start() override
the default (empty) implementation of IStateful::start() method
StatusCode start() override
System start.
std::vector< Algorithm * > m_subAlgms
Sub algorithms.
bool isEnabled() const override
Is this algorithm enabled or disabled?
Gaudi::StateMachine::State FSMState() const override
returns the current state of the algorithm
Base class from which all concrete algorithm classes should be derived.
void acceptDHVisitor(IDataHandleVisitor *) const override
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
StatusCode finalize() override
the default (empty) implementation of IStateful::finalize() method
constexpr static const auto SUCCESS
StatusCode restart() override
the default (empty) implementation of IStateful::restart() method
const std::vector< Algorithm * > * subAlgorithms() const
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
StatusCode restart() override
Restart method invoked by the framework.
StatusCode reinitialize() override
the default (empty) implementation of IStateful::reinitialize() method
constexpr static const auto FAILURE
StatusCode stop() override
the default (empty) implementation of IStateful::stop() method
virtual void visit(const IDataHandleHolder *)=0
StatusCode reinitialize() override
Reinitialization method invoked by the framework.