The Gaudi Framework  master (37c0b60a)
TestToolAlgFailure.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 
13 // from Gaudi
14 #include <GaudiKernel/MsgStream.h>
15 
16 // local
17 #include "TestToolAlgFailure.h"
18 
19 //-----------------------------------------------------------------------------
20 // Implementation file for class : RichToolTest
21 //
22 // 2004-03-08 : Chris Jones
23 //-----------------------------------------------------------------------------
24 
25 // Declaration of the Algorithm Factory
27 
28 //=============================================================================
29 // Initialisation. Check parameters
30 //=============================================================================
32 
33  debug() << "Initialize" << endmsg;
34 
36 
37  // setup tool registry
38  // IAlgTool * mytool;
39  for ( const auto& i : m_tools ) {
40  info() << "Loading tool " << i << endmsg;
41  try {
42  IAlgTool* tmp = nullptr;
43  toolSvc()->retrieve( i, IAlgTool::interfaceID(), tmp ).orThrow( "failed to load tool " + i );
44  info() << "Tool loaded successfully" << endmsg;
45  } catch ( GaudiException& e ) {
46  if ( m_ignoreFailure ) {
47  warning() << "Got exception '" << e.what() << "'" << endmsg;
48  } else {
49  error() << "Got exception '" << e.what() << "'" << endmsg;
50  if ( m_throwException ) { throw; }
51  return StatusCode::FAILURE;
52  }
53  }
54  }
55 
56  return StatusCode::SUCCESS;
57 }
58 
59 //=============================================================================
60 // Main execution
61 //=============================================================================
63 
64  info() << "Execute" << endmsg;
65 
66  return StatusCode::SUCCESS;
67 }
68 
69 //=============================================================================
70 // Finalize
71 //=============================================================================
73 
74  info() << "Finalize" << endmsg;
75 
76  return Algorithm::finalize();
77 }
78 
79 //=============================================================================
IAlgTool
Definition: IAlgTool.h:33
TestToolAlgFailure::finalize
StatusCode finalize() override
Definition: TestToolAlgFailure.cpp:72
Gaudi::Algorithm::initialize
StatusCode initialize() override
the default (empty) implementation of IStateful::initialize() method
Definition: Algorithm.h:178
GaudiException
Definition: GaudiException.h:31
StatusCode
Definition: StatusCode.h:65
IInterface::interfaceID
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
Definition: IInterface.h:248
TestToolAlgFailure
Definition: TestToolAlgFailure.h:28
TestToolAlgFailure::execute
StatusCode execute() override
Definition: TestToolAlgFailure.cpp:62
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:202
Gaudi::Algorithm::finalize
StatusCode finalize() override
the default (empty) implementation of IStateful::finalize() method
Definition: Algorithm.h:184
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition: PluginServiceV1.h:46
TestToolAlgFailure.h
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:101
GaudiException::what
const char * what() const override
method from std::exception
Definition: GaudiException.h:110
MsgStream.h