The Gaudi Framework
master (37c0b60a)
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
}
ParentAlg::finalize
StatusCode finalize() override
Definition:
ParentAlg.cpp:48
IDataProviderSvc.h
ManySmallAlgs.alg
alg
Definition:
ManySmallAlgs.py:81
GaudiPython.Pythonizations.ctx
ctx
Definition:
Pythonizations.py:578
StatusCode
Definition:
StatusCode.h:65
ParentAlg.h
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition:
MsgStream.h:202
ParentAlg
Definition:
ParentAlg.h:22
ThreadLocalContext.h
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition:
StatusCode.h:100
DataObject.h
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition:
PluginServiceV1.h:46
EventContext
Definition:
EventContext.h:34
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:103
ParentAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition:
ParentAlg.cpp:39
MsgStream.h
GaudiTestSuite
src
AlgSequencer
ParentAlg.cpp
Generated on Thu Dec 19 2024 15:35:06 for The Gaudi Framework by
1.8.18