ATLAS Offline Software
ICollectionGetterTool.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$
15 #ifndef D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
16 #define D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
17 
18 
21 #include "GaudiKernel/IAlgTool.h"
22 
23 
24 namespace D3PD {
25 
26 
37  : virtual public IObjGetterTool,
38  public IIteration
39 {
40 public:
43 
44 
52  virtual StatusCode reset (bool allowMissing = false) = 0;
53 
54 
65  virtual size_t sizeHint (bool allowMissing = false) = 0;
66 
67 
77  template <class T>
78  const T* next();
79 
80 
90  template <class T>
92 
93 
102  virtual const void* nextTypeinfo (const std::type_info& ti) = 0;
103 
104 
113  virtual StatusCode configureElementTypeinfo (const std::type_info& ti) = 0;
114 
115 
127  template <class T>
128  void releaseElement (const T* p);
129 
130 
141  void releaseElementTypeinfo (const void* p,
142  const std::type_info& ti);
143 };
144 
145 
146 } // namespace D3PD
147 
148 
150 
151 
152 #endif // not D3PDMAKERINTERFACES_ICOLLECTIONGETTERTOOL_H
ICollectionGetterTool.icc
D3PD::ICollectionGetterTool::configureElementTypeinfo
virtual StatusCode configureElementTypeinfo(const std::type_info &ti)=0
Test type compatibility.
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::ICollectionGetterTool::releaseElement
void releaseElement(const T *p)
Type-safe wrapper for releaseElementUntyped.
D3PD::IIteration
Abstract interface for iterating over a set of things.
Definition: IIteration.h:41
D3PD::ICollectionGetterTool
Abstract interface to get a collection of objects and iterate over it.
Definition: ICollectionGetterTool.h:39
D3PD::ICollectionGetterTool::DeclareInterfaceID
DeclareInterfaceID(ICollectionGetterTool, 1, 0)
Gaudi interface definition.
D3PD::ICollectionGetterTool::next
const T * next()
Type-safe wrapper for next.
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
D3PD::ICollectionGetterTool::configureD3PD
StatusCode configureD3PD()
Test type compatibility.
D3PD::ICollectionGetterTool::reset
virtual StatusCode reset(bool allowMissing=false)=0
Reset the iteration to the start of the collection.
IObjGetterTool.h
Abstract interface to get an object to put in the tuple.
D3PD::ICollectionGetterTool::sizeHint
virtual size_t sizeHint(bool allowMissing=false)=0
Return an estimate of the number of elements in the iteration.
D3PD::IObjGetterTool
Abstract interface to get an object to put in the tuple.
Definition: IObjGetterTool.h:47
D3PD::ICollectionGetterTool::releaseElementTypeinfo
void releaseElementTypeinfo(const void *p, const std::type_info &ti)
Release an element retrieved from the getter.
D3PD::ICollectionGetterTool::nextTypeinfo
virtual const void * nextTypeinfo(const std::type_info &ti)=0
Return the next object cast to a different pointer type.
IIteration.h
Abstract interface for iterating over a set of things.