The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
TestToolAlg.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
15
16// local
17#include "TestToolAlg.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() << "Initialise" << endmsg;
34
36
37 // setup tool registry
38 // IAlgTool * mytool;
39 for ( const auto& i : m_tools ) {
40 std::string name = i;
41 std::string type = i;
42 const int slash = i.find_first_of( "/" );
43 if ( slash > 0 ) {
44 type = i.substr( 0, slash );
45 name = i.substr( slash + 1 );
46 }
47 debug() << "Loading tool " << name << " of type " << type << endmsg;
48 IAlgTool* tmp = nullptr;
49 toolSvc()->retrieve( type, name, IAlgTool::interfaceID(), tmp ).ignore();
50 }
51
53}
54
55//=============================================================================
56// Main execution
57//=============================================================================
59
60 debug() << "Execute" << endmsg;
61
63}
64
65//=============================================================================
66// Finalize
67//=============================================================================
69
70 debug() << "Finalize" << endmsg;
71
72 return Algorithm::finalize();
73}
74
75//=============================================================================
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition MsgStream.h:198
#define DECLARE_COMPONENT(type)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
StatusCode initialize() override
the default (empty) implementation of IStateful::initialize() method
Definition Algorithm.h:175
StatusCode finalize() override
the default (empty) implementation of IStateful::finalize() method
Definition Algorithm.h:181
const std::string & name() const override
The identifying name of the algorithm object.
const std::string & type() const override
The type of the algorithm object.
Definition Algorithm.h:162
SmartIF< IToolSvc > & toolSvc() const
The standard ToolSvc service, Return a pointer to the service if present.
The interface implemented by the AlgTool base class.
Definition IAlgTool.h:29
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
Definition IInterface.h:234
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
constexpr static const auto SUCCESS
Definition StatusCode.h:99
constexpr static const auto FAILURE
Definition StatusCode.h:100
StatusCode initialize() override
Algorithm initialization.
StatusCode execute() override
Algorithm execution.
Gaudi::Property< std::vector< std::string > > m_tools
Definition TestToolAlg.h:37
StatusCode finalize() override
Algorithm finalization.