ATLAS Offline Software
Loading...
Searching...
No Matches
MultiAssociationTool.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 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4*/
11
12
13#ifndef D3PDMAKERUTILS_MULTIASSOCIATIONTOOL_H
14#define D3PDMAKERUTILS_MULTIASSOCIATIONTOOL_H
15
16
18
19
20namespace D3PD {
21
22
28template <typename TO_T>
31{
32public:
40
41
47 virtual const std::type_info& elementTypeinfo() const;
48
49
55 virtual const void* nextUntyped();
56
57
63 virtual const TO_T* next () = 0;
64
65
75 virtual void releaseElementUntyped (const void* p);
76
77
87 virtual void releaseElement (const TO_T* p);
88};
89
90
91//=========================================================================
92
93
150template <typename FROM_T, typename TO_T = FROM_T>
152 : public MultiAssociationToolTo<TO_T>
153{
154public:
162
163
167 virtual const std::type_info& fromTypeinfo() const;
168
169
174 virtual StatusCode resetUntyped (const void* p);
175
176
181 virtual StatusCode reset (const FROM_T& p) = 0;
182};
183
184
185} // namespace D3PD
186
187
190
191
192#endif // not D3PDMAKERUTILS_MULTIASSOCIATIONTOOL_H
Non-template parts of MultiAssociationTool.
A specialization of MultiAssociationTool that can accept one of several types.
MultiAssociationToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Helper for MultiAssociationTool.
virtual const TO_T * next()=0
Return a pointer to the next element in the association.
MultiAssociationToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
virtual const std::type_info & elementTypeinfo() const
Return the element type for the target of the association.
virtual void releaseElementUntyped(const void *p)
Release an object retrieved from the association.
virtual const void * nextUntyped()
Return a pointer to the next element in the association.
virtual void releaseElement(const TO_T *p)
Release an object retrieved from the association.
Type-safe wrapper for multiple-target associator tools.
virtual StatusCode resetUntyped(const void *p)
Start the iteration for a new association.
virtual const std::type_info & fromTypeinfo() const
Return the std::type_info for the source of the association.
virtual StatusCode reset(const FROM_T &p)=0
Start the iteration for a new association.
Block filler tool for noisy FEB information.