ATLAS Offline Software
UnitTestTool3.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 #ifndef ASG_TOOLS__UNIT_TEST_TOOL3_H
10 #define ASG_TOOLS__UNIT_TEST_TOOL3_H
11 
12 #include <AsgTools/AnaToolHandle.h>
13 #include <AsgTools/AsgTool.h>
15 
16 namespace asg
17 {
18  class IUnitTestTool2;
19 
26 
27  struct UnitTestTool3 : virtual public IUnitTestTool3,
28  public AsgTool
29  {
31 
32 
33  public:
34  UnitTestTool3 (const std::string& val_name);
35 
36  public:
37  StatusCode initialize () override;
38 
40  public:
41  virtual const IUnitTestTool1 *getSubtool () const override;
42 
44  public:
45  virtual const IUnitTestTool1 *getSubsubtool () const override;
46 
47  public:
48  virtual bool subsubtoolEmpty () const override;
49 
51  private:
52  ToolHandle<IUnitTestTool1> m_subtool0;
53 
55  private:
57 
59  private:
61 
63  private:
64  std::string m_propertyName;
65 
67  private:
68  bool m_usePublic = false;
69  };
70 }
71 
72 #endif
asg::UnitTestTool3::m_usePublic
bool m_usePublic
whether to use the public tool handle
Definition: UnitTestTool3.h:68
asg::UnitTestTool3::m_propertyName
std::string m_propertyName
the property name we set on m_subsubtool
Definition: UnitTestTool3.h:64
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
asg::AnaToolHandle
a modified tool handle that allows its owner to configure new tools from the C++ side
Definition: AnaToolHandle.h:34
asg::UnitTestTool3::m_subtool1
AnaToolHandle< IUnitTestTool1 > m_subtool1
the tool the user configures
Definition: UnitTestTool3.h:56
asg::UnitTestTool3::m_subtool0
ToolHandle< IUnitTestTool1 > m_subtool0
a public tool handle the tool the user configures
Definition: UnitTestTool3.h:52
asg
Definition: DataHandleTestTool.h:28
asg::IUnitTestTool1
the interface for UnitTestTool1
Definition: IUnitTestTool1.h:19
asg::UnitTestTool3::UnitTestTool3
UnitTestTool3(const std::string &val_name)
standard constructor
Definition: UnitTestTool3.cxx:25
asg::UnitTestTool3::subsubtoolEmpty
virtual bool subsubtoolEmpty() const override
get whether the subtool configured for our subtool is empty
Definition: UnitTestTool3.cxx:87
IUnitTestTool3.h
asg::UnitTestTool3::m_subtool2
AnaToolHandle< IUnitTestTool2 > m_subtool2
the tool we configure
Definition: UnitTestTool3.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
asg::UnitTestTool3::getSubtool
virtual const IUnitTestTool1 * getSubtool() const override
get the subtool we configured
Definition: UnitTestTool3.cxx:70
AnaToolHandle.h
asg::UnitTestTool3::getSubsubtool
virtual const IUnitTestTool1 * getSubsubtool() const override
get the subtool configured for our subtool
Definition: UnitTestTool3.cxx:81
asg::IUnitTestTool3
the interface for UnitTestTool3
Definition: IUnitTestTool3.h:21
asg::UnitTestTool3
a tool used to unit test AnaToolHandle
Definition: UnitTestTool3.h:29
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
AsgTool.h
asg::UnitTestTool3::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: UnitTestTool3.cxx:41