ATLAS Offline Software
Loading...
Searching...
No Matches
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$
14
15#ifndef D3PDMAKERINTERFACES_IOBJGETTERTOOL_H
16#define D3PDMAKERINTERFACES_IOBJGETTERTOOL_H
17
18
19#include "GaudiKernel/IAlgTool.h"
20
21
22namespace D3PD {
23
24
46 : virtual public IAlgTool
47{
48public:
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>
121 StatusCode configureD3PD();
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
Abstract interface to get an object to put in the tuple.
virtual const void * getTypeinfo(const std::type_info &ti, bool allowMissing=false)=0
Return the target object cast to a different pointer type.
virtual StatusCode configureTypeinfo(const std::type_info &ti)=0
Test type compatibility.
const T * get(bool allowMissing=false)
Type-safe wrapper for get.
virtual const void * getUntyped(bool allowMissing=false)=0
Return the target object.
void releaseObject(const T *p)
Type-safe wrapper for releaseObjectUntyped.
StatusCode configureD3PD()
Test type compatibility.
void releaseObjectTypeinfo(const void *p, const std::type_info &ti)
Release an object retrieved from the getter.
DeclareInterfaceID(IObjGetterTool, 1, 0)
Gaudi interface definition.
virtual const std::type_info & typeinfo() const =0
Return the type of object retrieved by this tool.
virtual void releaseObjectUntyped(const void *p)
Release an object retrieved from the getter.
Block filler tool for noisy FEB information.