ATLAS Offline Software
IObjGetterTool.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_IOBJGETTERTOOL_H
16 #define D3PDMAKERINTERFACES_IOBJGETTERTOOL_H
17 
18 
19 #include "GaudiKernel/IAlgTool.h"
20 
21 
22 namespace D3PD {
23 
24 
46  : virtual public IAlgTool
47 {
48 public:
51 
52 
56  virtual const std::type_info& typeinfo() const = 0;
57 
58 
67  virtual const void* getUntyped (bool allowMissing = false) = 0;
68 
69 
80  template <class T>
81  const T* get (bool allowMissing = false);
82 
83 
93  virtual void releaseObjectUntyped (const void* p);
94 
95 
107  template <class T>
108  void releaseObject (const T* p);
109 
110 
120  template <class T>
122 
123 
133  virtual const void* getTypeinfo (const std::type_info& ti,
134  bool allowMissing = false) = 0;
135 
136 
147  void releaseObjectTypeinfo (const void* p,
148  const std::type_info& ti);
149 
150 
159  virtual StatusCode configureTypeinfo (const std::type_info& ti) = 0;
160 };
161 
162 
163 } // namespace D3PD
164 
165 
167 
168 
169 #endif // not D3PDMAKERINTERFACES_IOBJGETTERTOOL_H
D3PD::IObjGetterTool::DeclareInterfaceID
DeclareInterfaceID(IObjGetterTool, 1, 0)
Gaudi interface definition.
D3PD::IObjGetterTool::configureD3PD
StatusCode configureD3PD()
Test type compatibility.
D3PD::IObjGetterTool::configureTypeinfo
virtual StatusCode configureTypeinfo(const std::type_info &ti)=0
Test type compatibility.
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::IObjGetterTool::getUntyped
virtual const void * getUntyped(bool allowMissing=false)=0
Return the target object.
IObjGetterTool.icc
D3PD::IObjGetterTool::releaseObjectTypeinfo
void releaseObjectTypeinfo(const void *p, const std::type_info &ti)
Release an object retrieved from the getter.
D3PD::IObjGetterTool::releaseObjectUntyped
virtual void releaseObjectUntyped(const void *p)
Release an object retrieved from the getter.
D3PD::IObjGetterTool::get
const T * get(bool allowMissing=false)
Type-safe wrapper for get.
D3PD::IObjGetterTool::getTypeinfo
virtual const void * getTypeinfo(const std::type_info &ti, bool allowMissing=false)=0
Return the target object cast to a different pointer type.
D3PD::IObjGetterTool::typeinfo
virtual const std::type_info & typeinfo() const =0
Return the type of object retrieved by this tool.
D3PD::IObjGetterTool
Abstract interface to get an object to put in the tuple.
Definition: IObjGetterTool.h:47
D3PD::IObjGetterTool::releaseObject
void releaseObject(const T *p)
Type-safe wrapper for releaseObjectUntyped.