ATLAS Offline Software
IndexMultiAssociationFillerTool.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: IndexMultiAssociationFillerTool.h 618070 2014-09-22 19:05:34Z ssnyder $
16 #ifndef D3PDMAKERCORECOMPS_INDEXMULTIASSOCIATIONFILLERTOOL_H
17 #define D3PDMAKERCORECOMPS_INDEXMULTIASSOCIATIONFILLERTOOL_H
18 
19 
27 #include "GaudiKernel/ToolHandle.h"
28 #include <vector>
29 
30 
31 namespace D3PD {
32 
33 
34 class ICollectionRegistryTool;
35 
36 
64  : public extends1<AthAlgTool, IBlockFillerTool>, public AddVariable
65 {
66 public:
73  IndexMultiAssociationFillerTool (const std::string& type,
74  const std::string& name,
75  const IInterface* parent);
76 
77 
79  virtual StatusCode initialize() override;
80 
81 
91  const std::type_info& ti) override;
92 
93 
99  virtual StatusCode book() override;
100 
101 
128  virtual StatusCode fillUntyped (const void* p,
129  bool again = false) override;
130 
131 
132 private:
134  ToolHandle<IMultiAssociationTool> m_associator;
135 
138  std::string m_targetLabel;
139 
141  std::string m_prefix;
142 
144  std::string m_blockName;
145 
147  ToolHandle<ICollectionGetterRegistryTool> m_registry;
148 
152 
154  std::vector<int>* m_index;
155 
159 
162 };
163 
164 
165 } // namespace D3PD
166 
167 
168 #endif // not D3PDMAKERCORECOMPS_INDEXMULTIASSOCIATIONFILLERTOOL_H
169 
D3PD::IndexMultiAssociationFillerTool::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: IndexMultiAssociationFillerTool.cxx:59
D3PD::IndexMultiAssociationFillerTool::m_registry
ToolHandle< ICollectionGetterRegistryTool > m_registry
Property: The ICollectionGetterRegistryTool instance.
Definition: IndexMultiAssociationFillerTool.h:147
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
D3PD::IndexMultiAssociationFillerTool::m_targetLabel
std::string m_targetLabel
Property: The label of the collection getter defining the collection within which to index.
Definition: IndexMultiAssociationFillerTool.h:138
ICollectionGetterRegistryTool.h
Abstract interface to keep a registry of collection getter tools.
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::IndexMultiAssociationFillerTool::m_converter
TypeConverter m_converter
Helper to convert from pointer returned by the associator to pointer into the index container.
Definition: IndexMultiAssociationFillerTool.h:158
D3PD::AddVariable
Common implementation of IAddVariable.
Definition: AddVariable.h:38
tree
TChain * tree
Definition: tile_monitor.h:30
TypeConverter.h
Helper to convert pointers.
D3PD::IndexMultiAssociationFillerTool::IndexMultiAssociationFillerTool
IndexMultiAssociationFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: IndexMultiAssociationFillerTool.cxx:29
D3PD::TypeConverter
This is helper for converting between pointers of different types, given dynamically by std::type_inf...
Definition: TypeConverter.h:45
D3PD::IndexMultiAssociationFillerTool::m_index
std::vector< int > * m_index
Index collection variable.
Definition: IndexMultiAssociationFillerTool.h:154
D3PD::IndexMultiAssociationFillerTool::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti) override
Configure during initialization: type-check.
Definition: IndexMultiAssociationFillerTool.cxx:85
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::IndexMultiAssociationFillerTool::m_associator
ToolHandle< IMultiAssociationTool > m_associator
Property: The association tool instance.
Definition: IndexMultiAssociationFillerTool.h:134
D3PD::IndexMultiAssociationFillerTool::fillUntyped
virtual StatusCode fillUntyped(const void *p, bool again=false) override
Fill one block.
Definition: IndexMultiAssociationFillerTool.cxx:150
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
D3PD::IndexMultiAssociationFillerTool::m_allowMissing
bool m_allowMissing
Property: Don't give an error if the target getter fails to find the input objects.
Definition: IndexMultiAssociationFillerTool.h:151
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::IndexMultiAssociationFillerTool::m_map
IndexMap m_map
Map from objects to indices.
Definition: IndexMultiAssociationFillerTool.h:161
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IndexMap.h
Cache pointer -> index mappings for a Getter used for index assocs.
D3PD::IndexMultiAssociationFillerTool
Represent a multiple association by index.
Definition: IndexMultiAssociationFillerTool.h:65
IBlockFillerTool.h
Abstract interface for tool to fill a block in the D3PD.
D3PD::IndexMap
Definition: IndexMap.h:44
AddVariable.h
Common implementation of IAddVariable.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::IndexMultiAssociationFillerTool::m_prefix
std::string m_prefix
Property: The variable name prefix.
Definition: IndexMultiAssociationFillerTool.h:141
D3PD::IndexMultiAssociationFillerTool::m_blockName
std::string m_blockName
Property: the name of this block.
Definition: IndexMultiAssociationFillerTool.h:144
IMultiAssociationTool.h
Abstract interface to form a multi-way association.
D3PD::IndexMultiAssociationFillerTool::book
virtual StatusCode book() override
Declare tuple variables.
Definition: IndexMultiAssociationFillerTool.cxx:111