The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
IAlgTool.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 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#pragma once
12
15#include <string>
16class IAlgorithm;
17
28
29class GAUDI_API IAlgTool : virtual public INamedInterface {
30public:
33
35 virtual const std::string& type() const = 0;
36
40 virtual const IInterface* parent() const = 0;
41
42 // --- Methods from IStateful ---
45 virtual StatusCode configure() = 0;
46
49 virtual StatusCode initialize() = 0;
50
53 virtual StatusCode start() = 0;
54
57 virtual StatusCode stop() = 0;
58
61 virtual StatusCode finalize() = 0;
62
65 virtual StatusCode terminate() = 0;
66
69 virtual StatusCode reinitialize() = 0;
70
73 virtual StatusCode restart() = 0;
74
78
84
89 virtual StatusCode sysStart() = 0;
90
95 virtual StatusCode sysStop() = 0;
96
101 virtual StatusCode sysFinalize() = 0;
102
108
113 virtual StatusCode sysRestart() = 0;
114};
#define GAUDI_API
Definition Kernel.h:49
The interface implemented by the AlgTool base class.
Definition IAlgTool.h:29
virtual StatusCode start()=0
Start (from INITIALIZED to RUNNING).
virtual Gaudi::StateMachine::State FSMState() const =0
Get the current state.
virtual StatusCode sysStop()=0
Initialization of the Tool.
DeclareInterfaceID(IAlgTool, 4, 0)
InterfaceID.
virtual StatusCode sysRestart()=0
Initialization of the Tool.
virtual StatusCode reinitialize()=0
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
virtual StatusCode terminate()=0
Initialization (from CONFIGURED to OFFLINE).
virtual StatusCode initialize()=0
Initialization (from CONFIGURED to INITIALIZED).
virtual StatusCode finalize()=0
Finalize (from INITIALIZED to CONFIGURED).
virtual StatusCode sysReinitialize()=0
Initialization of the Tool.
virtual StatusCode sysInitialize()=0
Initialization of the Tool.
virtual const std::string & type() const =0
The type of an AlgTool, meaning the concrete AlgTool class.
virtual const IInterface * parent() const =0
The parent of the concrete AlgTool.
virtual StatusCode sysStart()=0
Initialization of the Tool.
virtual StatusCode configure()=0
Configuration (from OFFLINE to CONFIGURED).
virtual StatusCode stop()=0
Stop (from RUNNING to INITIALIZED).
virtual StatusCode restart()=0
Initialization (from RUNNING to RUNNING, via INITIALIZED).
virtual StatusCode sysFinalize()=0
Finalization of the Tool.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition IAlgorithm.h:36
Definition of the basic interface.
Definition IInterface.h:225
IInterface compliant class extending IInterface with the name() method.
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...