ATLAS Offline Software
AraAlgToolWrapper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AraTool_ARAALGTOOLWRAPPER_H
6 #define AraTool_ARAALGTOOLWRAPPER_H
7 
8 #include "AraTool/IAraAlgTool.h"
9 
11 #include "GaudiKernel/MsgStream.h"
12 
13 #include <string>
14 
15 
17 
18 //namespace ToolSpace {
19 
20 template< class T >
21 class AraAlgToolWrapper : virtual public IAraAlgTool, virtual public AthAlgTool {
22  public:
23  AraAlgToolWrapper( const std::string&, const std::string&, const IInterface* );
24 
25  // to allow access to the IAraAlgTool interface
26  StatusCode queryInterface( const InterfaceID& riid, void** ppvIf );
27 
28  // setup/teardown functions, similar like those for Algorithm/Service
31 
32  // the magic method this tool provides
33  // virtual StatusCode performTask( double& result );
34 
35  public:
36  // to resolve possible conflicts with IProperty::interfaceID()
37  static const InterfaceID& interfaceID() { return IAraAlgTool::interfaceID(); }
38 
39 
40  T *operator->() const {
41  return m_ptool;
42  }
43  T* getTool() {return m_ptool;}
44 
45  private:
47 
48  private:
49  MsgStream m_log;
50 
51  private:
52  double m_factor;
53 };
54 
55 //}
56 
57 #include "AraAlgToolWrapper.icc"
58 
59 #endif // !AraTool_ARAALGTOOLWRAPPER_H
AraAlgToolWrapper.icc
IAraAlgTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IAraAlgTool.cxx:12
IAraAlgTool.h
AraAlgToolWrapper
Definition: AraAlgToolWrapper.h:21
AraAlgToolWrapper::m_ptool
T * m_ptool
Definition: AraAlgToolWrapper.h:46
AraAlgToolWrapper::getTool
T * getTool()
Definition: AraAlgToolWrapper.h:43
AraAlgToolWrapper::m_log
MsgStream m_log
Definition: AraAlgToolWrapper.h:49
AraAlgToolWrapper::finalize
StatusCode finalize()
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IAraAlgTool
Definition: IAraAlgTool.h:13
AthAlgTool.h
AraAlgToolWrapper::initialize
StatusCode initialize()
AraAlgToolWrapper::AraAlgToolWrapper
AraAlgToolWrapper(const std::string &, const std::string &, const IInterface *)
AraAlgToolWrapper::m_factor
double m_factor
Definition: AraAlgToolWrapper.h:52
AraAlgToolWrapper::operator->
T * operator->() const
Definition: AraAlgToolWrapper.h:40
AthAlgTool
Definition: AthAlgTool.h:26
AraAlgToolWrapper::queryInterface
StatusCode queryInterface(const InterfaceID &riid, void **ppvIf)
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
AraAlgToolWrapper::interfaceID
static const InterfaceID & interfaceID()
Definition: AraAlgToolWrapper.h:37