ATLAS Offline Software
IAsgTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ASGTOOLS_IASGTOOL_H
6 #define ASGTOOLS_IASGTOOL_H
7 
8 // System include(s):
9 #include <string>
10 
11 // Local include(s):
12 #include "AsgTools/AsgToolMacros.h"
13 
14 // Environment specific include(s):
15 #ifndef XAOD_STANDALONE
16 # include "GaudiKernel/IAlgTool.h"
17 #else
18 # include "AsgMessaging/StatusCode.h"
20 #endif
21 
22 namespace asg {
23 
35  class IAsgTool
36 #ifndef XAOD_STANDALONE
37  : virtual public ::IAlgTool
38 #else
39  : virtual public INamedInterface
40 #endif // not XAOD_STANDALONE
41  {
42 
43  public:
45  virtual ~IAsgTool() {}
46 
47 #ifdef XAOD_STANDALONE
48 
51 
53  virtual StatusCode initialize() = 0;
54 
56 
57 #endif // XAOD_STANDALONE
58 
60  virtual void print() const = 0;
61 
62  }; // class IAsgTool
63 
64 } // namespace asg
65 
66 #endif // ASGTOOLS_IASGTOOL_H
asg::IAsgTool::print
virtual void print() const =0
Print the state of the tool.
initialize
void initialize()
Definition: run_EoverP.cxx:894
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
asg
Definition: DataHandleTestTool.h:28
INamedInterface.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
StatusCode.h
asg::IAsgTool::~IAsgTool
virtual ~IAsgTool()
Virtual destructor, to make vtable happy...
Definition: IAsgTool.h:45
AsgToolMacros.h