ATLAS Offline Software
SGDataVectorGetterTool.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: SGDataVectorGetterTool.h 790090 2016-12-16 05:31:29Z ssnyder $
16 #ifndef D3PDMAKERCORECOMPS_SGDATAVECTORGETTERTOOL_H
17 #define D3PDMAKERCORECOMPS_SGDATAVECTORGETTERTOOL_H
18 
19 
26 #include "GaudiKernel/ServiceHandle.h"
27 
28 
29 namespace DataModel_detail {
30 class DVLInfoBase;
31 } // namespace DataModel_detail
32 
33 
34 namespace D3PD {
35 
36 
54  : public SGGetterImpl, public CollectionGetterToolImpl
55 {
56 public:
63  SGDataVectorGetterTool (const std::string& type,
64  const std::string& name,
65  const IInterface* parent);
66 
67 
69  virtual StatusCode initialize();
70 
71 
73  virtual StatusCode finalize();
74 
75 
81  virtual const std::type_info& elementTypeinfo() const;
82 
83 
91  virtual StatusCode reset (bool allowMissing = false);
92 
93 
99  virtual const void* nextUntyped();
100 
101 
112  virtual size_t sizeHint (bool allowMissing = false);
113 
114 
115 private:
118 
120  const DataModel_detail::DVLInfoBase* getInfo (const std::type_info& ti);
121 
124 
127 
132 };
133 
134 
135 } // namespace D3PD
136 
137 
138 #endif // not D3PDMAKERCORECOMPS_SGCOLLECTIONGETTERTOOL_H
D3PD::SGDataVectorGetterTool::m_it
DataModel_detail::DVLIteratorBase * m_it
Current iterator over the collection.
Definition: SGDataVectorGetterTool.h:126
IAthenaPoolCnvSvc.h
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
D3PD::SGDataVectorGetterTool::finalize
virtual StatusCode finalize()
Standard Gaudi finalize method.
Definition: SGDataVectorGetterTool.cxx:106
D3PD::SGDataVectorGetterTool::sizeHint
virtual size_t sizeHint(bool allowMissing=false)
Return an estimate of the number of elements in the iteration.
Definition: SGDataVectorGetterTool.cxx:185
D3PD::SGDataVectorGetterTool::reset
virtual StatusCode reset(bool allowMissing=false)
Reset the iteration to the start of the collection.
Definition: SGDataVectorGetterTool.cxx:132
D3PD::SGDataVectorGetterTool::initialize
virtual StatusCode initialize()
Standard Gaudi initialize method.
Definition: SGDataVectorGetterTool.cxx:46
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::SGDataVectorGetterTool::elementTypeinfo
virtual const std::type_info & elementTypeinfo() const
Return the element type of the collection.
Definition: SGDataVectorGetterTool.cxx:119
DataModel_detail::DVLInfoBase
Definition: DVLInfo.h:68
D3PD::SGDataVectorGetterTool::m_athenaPoolCnvSvc
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Used to auto-load converters, if needed.
Definition: SGDataVectorGetterTool.h:117
D3PD::SGDataVectorGetterTool::m_converter
TypeConverter m_converter
Converter from the pointer that we get from StoreGate to a pointer to the collection over which we it...
Definition: SGDataVectorGetterTool.h:131
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::SGDataVectorGetterTool
Getter tool to retrieve DataVector/List collections from StoreGate.
Definition: SGDataVectorGetterTool.h:55
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::SGDataVectorGetterTool::m_info
const DataModel_detail::DVLInfoBase * m_info
DataVector/List information for this collection.
Definition: SGDataVectorGetterTool.h:123
D3PD::SGDataVectorGetterTool::nextUntyped
virtual const void * nextUntyped()
Return a pointer to the next element in the collection.
Definition: SGDataVectorGetterTool.cxx:167
DataModel_detail
Definition: CompareAndPrint.h:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
errorcheck.h
Helpers for checking error return status codes and reporting errors.
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
CollectionGetterTool.h
Type-safe wrapper for collection getter tools.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::SGDataVectorGetterTool::SGDataVectorGetterTool
SGDataVectorGetterTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: SGDataVectorGetterTool.cxx:30
D3PD::SGDataVectorGetterTool::getInfo
const DataModel_detail::DVLInfoBase * getInfo(const std::type_info &ti)
Retrieve DataVector/List information for this collection.
Definition: SGDataVectorGetterTool.cxx:199
SGGetterImpl.h
Common object getter code for retrieving from StoreGate.
DataModel_detail::DVLIteratorBase
Helper to iterate over a DV container.
Definition: DVLInfo.h:32
ServiceHandle< IAthenaPoolCnvSvc >
D3PD::SGGetterImpl
Common object getter code for retrieving from StoreGate.
Definition: SGGetterImpl.h:52
D3PD::CollectionGetterToolImpl
Non-template parts of CollectionGetterTool.
Definition: CollectionGetterToolImpl.h:42