The Gaudi Framework  master (82fdf313)
Loading...
Searching...
No Matches
ParentAlg.cpp
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11// Include files
12#include "ParentAlg.h"
17
19
21 info() << "creating sub-algorithms...." << endmsg;
22
23 auto sc = createSubAlgorithm( "SubAlg", "SubAlg1", m_subalg1 );
24 if ( !sc ) {
25 error() << "Error creating Sub-Algorithm SubAlg1" << endmsg;
26 return sc;
27 }
28
29 sc = createSubAlgorithm( "SubAlg", "SubAlg2", m_subalg2 );
30 if ( !sc ) {
31 error() << "Error creating Sub-Algorithm SubAlg2" << endmsg;
32 return sc;
33 }
34
35 // the base class must be invoked _after_ the subalgorithms are created
36 return Sequence::initialize();
37}
38
40 info() << "executing...." << endmsg;
41
42 for ( auto alg : ( *subAlgorithms() ) ) {
43 if ( !alg->sysExecute( ctx ) ) { error() << "Error executing Sub-Algorithm" << alg->name() << endmsg; }
44 }
46}
47
49 info() << "finalizing...." << endmsg;
50 return Sequence::finalize();
51}
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition MsgStream.h:198
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
This class represents an entry point to all the event specific data.
StatusCode createSubAlgorithm(const std::string &type, const std::string &name, Algorithm *&pSubAlg)
Create a sub algorithm.
Definition Sequence.cpp:109
const std::vector< Algorithm * > * subAlgorithms() const
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition Sequence.cpp:105
Trivial Algorithm for tutotial purposes.
Definition ParentAlg.h:21
StatusCode execute(const EventContext &ctx) const override
Definition ParentAlg.cpp:39
Gaudi::Algorithm * m_subalg2
Definition ParentAlg.h:32
StatusCode finalize() override
Definition ParentAlg.cpp:48
Gaudi::Algorithm * m_subalg1
Definition ParentAlg.h:31
StatusCode initialize() override
Three mandatory member functions of any algorithm.
Definition ParentAlg.cpp:20
StatusCode finalize() override
System finalization.
Definition Sequence.cpp:40
StatusCode initialize() override
Initialization method invoked by the framework.
Definition Sequence.cpp:28
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
constexpr static const auto SUCCESS
Definition StatusCode.h:99