ATLAS Offline Software
MultiAssociationToolImpl.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 D3PDMAKERUTILS_MULTIASSOCIATIONTOOLIMPL_H
17 #define D3PDMAKERUTILS_MULTIASSOCIATIONTOOLIMPL_H
18 
19 
24 
25 
26 namespace D3PD {
27 
28 
44  : public extends<AthAlgTool, IMultiAssociationTool>,
45  public AddVariable
46 {
47 public:
54  MultiAssociationToolImpl (const std::string& type,
55  const std::string& name,
56  const IInterface* parent);
57 
58 
69  const std::type_info& ti);
70 
71 
78  virtual StatusCode book();
79 
80 
84  virtual const std::type_info& fromTypeinfo() const = 0;
85 
86 
87 
88 protected:
95  const void* doConversion (const void* p);
96 
97 
112  const std::type_info& ti,
113  const std::vector<const std::type_info*>& tis,
114  size_t& which);
115 
116 
117 private:
119  std::string m_prefix;
120 
122  std::string m_blockName;
123 
126 };
127 
128 
129 } // namespace D3PD
130 
131 
132 #endif // not D3PDMAKERUTILS_MULTIASSOCIATIONTOOLIMPL_H
D3PD::MultiAssociationToolImpl::m_blockName
std::string m_blockName
Property: the name of this block.
Definition: MultiAssociationToolImpl.h:122
D3PD::MultiAssociationToolImpl::MultiAssociationToolImpl
MultiAssociationToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: MultiAssociationToolImpl.cxx:28
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
D3PD::MultiAssociationToolImpl::fromTypeinfo
virtual const std::type_info & fromTypeinfo() const =0
Return the std::type_info for the source of the association.
D3PD::AddVariable
Common implementation of IAddVariable.
Definition: AddVariable.h:38
D3PD::MultiAssociationToolImpl::book
virtual StatusCode book()
Create any needed tuple variables.
Definition: MultiAssociationToolImpl.cxx:92
tree
TChain * tree
Definition: tile_monitor.h:30
TypeConverter.h
Helper to convert pointers.
D3PD::TypeConverter
This is helper for converting between pointers of different types, given dynamically by std::type_inf...
Definition: TypeConverter.h:45
D3PD::MultiAssociationToolImpl::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti)
Configure during initialization: type-check.
Definition: MultiAssociationToolImpl.cxx:51
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::MultiAssociationToolImpl::m_inputConverter
TypeConverter m_inputConverter
Helper to convert source object pointers.
Definition: MultiAssociationToolImpl.h:125
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
D3PD::MultiAssociationToolImpl::configureMulti
StatusCode configureMulti(D3PD::IAddVariable *tree, const std::type_info &ti, const std::vector< const std::type_info * > &tis, size_t &which)
Configure during initialization: type-check.
Definition: MultiAssociationToolImpl.cxx:74
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
python.Utils.unixtools.which
def which(filename, env=os.environ)
UNIX-style which ---------------------------------------------------------—.
Definition: unixtools.py:39
D3PD::MultiAssociationToolImpl::m_prefix
std::string m_prefix
Parameter: source object prefix.
Definition: MultiAssociationToolImpl.h:119
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
AddVariable.h
Common implementation of IAddVariable.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IMultiAssociationTool.h
Abstract interface to form a multi-way association.
D3PD::MultiAssociationToolImpl::doConversion
const void * doConversion(const void *p)
Helper to convert pointers to source objects.
Definition: MultiAssociationToolImpl.cxx:104
D3PD::MultiAssociationToolImpl
Non-template parts of MultiAssociationTool.
Definition: MultiAssociationToolImpl.h:46