ATLAS Offline Software
FirstAssociationTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef D3PDMAKERCORECOMPS_FIRSTASSOCIATIONTOOL_H
17 #define D3PDMAKERCORECOMPS_FIRSTASSOCIATIONTOOL_H
18 
19 
22 #include "GaudiKernel/ToolHandle.h"
23 
24 
25 namespace D3PD {
26 
27 
28 class IMultiAssociationTool;
29 
30 
38  : public extends1<AthAlgTool, ISingleAssociationTool>
39 {
40 public:
47  FirstAssociationTool (const std::string& type,
48  const std::string& name,
49  const IInterface* parent);
50 
51 
55  virtual StatusCode initialize() override;
56 
57 
67  const std::type_info& ti) override;
68 
69 
75  virtual StatusCode book() override;
76 
77 
81  virtual const std::type_info& typeinfo() const override;
82 
83 
91  virtual const void* getUntyped (const void* p) override;
92 
93 
103  virtual void releaseObjectUntyped (const void* p) override;
104 
105 
106 private:
108  ToolHandle<IMultiAssociationTool> m_associator;
109 };
110 
111 
112 } // namespace D3PD
113 
114 
115 #endif // not D3PDMAKERCORECOMPS_FIRSTASSOCIATIONTOOL_H
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
D3PD::FirstAssociationTool::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti) override
Configure during initialization: type-check.
Definition: FirstAssociationTool.cxx:58
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::FirstAssociationTool::m_associator
ToolHandle< IMultiAssociationTool > m_associator
The wrapped multiple association tool.
Definition: FirstAssociationTool.h:108
tree
TChain * tree
Definition: tile_monitor.h:30
D3PD::FirstAssociationTool::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: FirstAssociationTool.cxx:42
D3PD::FirstAssociationTool::book
virtual StatusCode book() override
Declare tuple variables.
Definition: FirstAssociationTool.cxx:71
ISingleAssociationTool.h
Abstract interface to form a single association.
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
D3PD::FirstAssociationTool
Choose the first result from a multiple association.
Definition: FirstAssociationTool.h:39
D3PD::FirstAssociationTool::FirstAssociationTool
FirstAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: FirstAssociationTool.cxx:28
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::FirstAssociationTool::releaseObjectUntyped
virtual void releaseObjectUntyped(const void *p) override
Release an object retrieved from the association.
Definition: FirstAssociationTool.cxx:113
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::FirstAssociationTool::typeinfo
virtual const std::type_info & typeinfo() const override
Return the type of object retrieved by this tool.
Definition: FirstAssociationTool.cxx:81
D3PD::FirstAssociationTool::getUntyped
virtual const void * getUntyped(const void *p) override
Return the target object.
Definition: FirstAssociationTool.cxx:95