The Gaudi Framework
master (1a7a3838)
Toggle main menu visibility
Loading...
Searching...
No Matches
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
26
DECLARE_COMPONENT
(
TestToolAlgFailure
)
27
28
//=============================================================================
29
// Initialisation. Check parameters
30
//=============================================================================
31
StatusCode
TestToolAlgFailure
::
initialize
() {
32
33
debug
() <<
"Initialize"
<<
endmsg
;
34
35
if
( !
Algorithm::initialize
() )
return
StatusCode::FAILURE
;
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
//=============================================================================
62
StatusCode
TestToolAlgFailure::execute
() {
63
64
info
() <<
"Execute"
<<
endmsg
;
65
66
return
StatusCode::SUCCESS
;
67
}
68
69
//=============================================================================
70
// Finalize
71
//=============================================================================
72
StatusCode
TestToolAlgFailure::finalize
() {
73
74
info
() <<
"Finalize"
<<
endmsg
;
75
76
return
Algorithm::finalize
();
77
}
78
79
//=============================================================================
MsgStream.h
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition
MsgStream.h:198
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition
PluginServiceV1.h:45
TestToolAlgFailure.h
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition
CommonMessaging.h:109
CommonMessagingBase::warning
MsgStream & warning() const
shortcut for the method msgStream(MSG::WARNING)
Definition
CommonMessaging.h:112
CommonMessagingBase::debug
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
Definition
CommonMessaging.h:118
CommonMessagingBase::info
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
Definition
CommonMessaging.h:115
Gaudi::Algorithm::initialize
StatusCode initialize() override
the default (empty) implementation of IStateful::initialize() method
Definition
Algorithm.h:175
Gaudi::Algorithm::finalize
StatusCode finalize() override
the default (empty) implementation of IStateful::finalize() method
Definition
Algorithm.h:181
Gaudi::Algorithm::toolSvc
SmartIF< IToolSvc > & toolSvc() const
The standard ToolSvc service, Return a pointer to the service if present.
Definition
Algorithm.cpp:556
GaudiException
Define general base for Gaudi exception.
Definition
GaudiException.h:29
GaudiException::what
const char * what() const override
method from std::exception
Definition
GaudiException.h:108
IAlgTool
The interface implemented by the AlgTool base class.
Definition
IAlgTool.h:29
IInterface::interfaceID
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
Definition
IInterface.h:234
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
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition
StatusCode.h:100
TestToolAlgFailure
Retrieve tools ignoring errors.
Definition
TestToolAlgFailure.h:27
TestToolAlgFailure::m_tools
Gaudi::Property< std::vector< std::string > > m_tools
Definition
TestToolAlgFailure.h:38
TestToolAlgFailure::m_ignoreFailure
Gaudi::Property< bool > m_ignoreFailure
Definition
TestToolAlgFailure.h:39
TestToolAlgFailure::initialize
StatusCode initialize() override
Definition
TestToolAlgFailure.cpp:31
TestToolAlgFailure::m_throwException
Gaudi::Property< bool > m_throwException
Definition
TestToolAlgFailure.h:40
TestToolAlgFailure::execute
StatusCode execute() override
Definition
TestToolAlgFailure.cpp:62
TestToolAlgFailure::finalize
StatusCode finalize() override
Definition
TestToolAlgFailure.cpp:72
GaudiTestSuite
src
AlgTools
TestToolAlgFailure.cpp
Generated on
for The Gaudi Framework by
1.17.0