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
"
13
#include <
GaudiKernel/DataObject.h
>
14
#include <
GaudiKernel/IDataProviderSvc.h
>
15
#include <
GaudiKernel/MsgStream.h
>
16
#include <
GaudiKernel/ThreadLocalContext.h
>
17
18
DECLARE_COMPONENT
(
ParentAlg
)
19
20
StatusCode
ParentAlg
::
initialize
() {
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
39
StatusCode
ParentAlg::execute
(
const
EventContext
& ctx )
const
{
40
info
() <<
"executing...."
<<
endmsg
;
41
42
for
(
auto
alg : ( *
subAlgorithms
() ) ) {
43
if
( !alg->sysExecute( ctx ) ) {
error
() <<
"Error executing Sub-Algorithm"
<< alg->name() <<
endmsg
; }
44
}
45
return
StatusCode::SUCCESS
;
46
}
47
48
StatusCode
ParentAlg::finalize
() {
49
info
() <<
"finalizing...."
<<
endmsg
;
50
return
Sequence::finalize
();
51
}
DataObject.h
IDataProviderSvc.h
MsgStream.h
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition
MsgStream.h:198
ParentAlg.h
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition
PluginServiceV1.h:45
ThreadLocalContext.h
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition
CommonMessaging.h:107
CommonMessagingBase::info
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
Definition
CommonMessaging.h:113
EventContext
This class represents an entry point to all the event specific data.
Definition
EventContext.h:34
Gaudi::Sequence::createSubAlgorithm
StatusCode createSubAlgorithm(const std::string &type, const std::string &name, Algorithm *&pSubAlg)
Create a sub algorithm.
Definition
Sequence.cpp:109
Gaudi::Sequence::subAlgorithms
const std::vector< Algorithm * > * subAlgorithms() const
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
Definition
Sequence.cpp:105
ParentAlg
Trivial Algorithm for tutotial purposes.
Definition
ParentAlg.h:21
ParentAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
ParentAlg.cpp:39
ParentAlg::m_subalg2
Gaudi::Algorithm * m_subalg2
Definition
ParentAlg.h:32
ParentAlg::finalize
StatusCode finalize() override
Definition
ParentAlg.cpp:48
ParentAlg::m_subalg1
Gaudi::Algorithm * m_subalg1
Definition
ParentAlg.h:31
ParentAlg::initialize
StatusCode initialize() override
Three mandatory member functions of any algorithm.
Definition
ParentAlg.cpp:20
Sequence::finalize
StatusCode finalize() override
System finalization.
Definition
Sequence.cpp:40
Sequence::initialize
StatusCode initialize() override
Initialization method invoked by the framework.
Definition
Sequence.cpp:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition
StatusCode.h:99
GaudiTestSuite
src
AlgSequencer
ParentAlg.cpp
Generated on Thu Oct 2 2025 15:31:12 for The Gaudi Framework by
1.13.1