ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
D3PDMakerUtils
D3PDMakerUtils
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
17
#include "
D3PDMakerUtils/MultiAssociationToolImpl.h
"
18
19
20
namespace
D3PD
{
21
22
28
template
<
typename
TO_T>
29
class
MultiAssociationToolTo
30
:
public
MultiAssociationToolImpl
31
{
32
public
:
39
using
MultiAssociationToolImpl::MultiAssociationToolImpl
;
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
150
template
<
typename
FROM_T,
typename
TO_T = FROM_T>
151
class
MultiAssociationTool
152
:
public
MultiAssociationToolTo
<TO_T>
153
{
154
public
:
161
using
MultiAssociationToolTo
<TO_T>
::MultiAssociationToolTo
;
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
188
#include "
D3PDMakerUtils/MultiAssociationTool.icc
"
189
#include "
D3PDMakerUtils/MultiAssociationToolMulti.h
"
190
191
192
#endif
// not D3PDMAKERUTILS_MULTIASSOCIATIONTOOL_H
MultiAssociationToolImpl.h
Non-template parts of MultiAssociationTool.
MultiAssociationToolMulti.h
A specialization of MultiAssociationTool that can accept one of several types.
MultiAssociationTool.icc
D3PD::MultiAssociationToolImpl::MultiAssociationToolImpl
MultiAssociationToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition
MultiAssociationToolImpl.cxx:28
D3PD::MultiAssociationToolTo
Helper for MultiAssociationTool.
Definition
MultiAssociationTool.h:31
D3PD::MultiAssociationToolTo::next
virtual const TO_T * next()=0
Return a pointer to the next element in the association.
D3PD::MultiAssociationToolTo::MultiAssociationToolImpl
MultiAssociationToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition
MultiAssociationToolImpl.cxx:28
D3PD::MultiAssociationToolTo::elementTypeinfo
virtual const std::type_info & elementTypeinfo() const
Return the element type for the target of the association.
D3PD::MultiAssociationToolTo::releaseElementUntyped
virtual void releaseElementUntyped(const void *p)
Release an object retrieved from the association.
D3PD::MultiAssociationToolTo::nextUntyped
virtual const void * nextUntyped()
Return a pointer to the next element in the association.
D3PD::MultiAssociationToolTo::releaseElement
virtual void releaseElement(const TO_T *p)
Release an object retrieved from the association.
D3PD::MultiAssociationTool
Type-safe wrapper for multiple-target associator tools.
Definition
MultiAssociationTool.h:153
D3PD::MultiAssociationTool::resetUntyped
virtual StatusCode resetUntyped(const void *p)
Start the iteration for a new association.
D3PD::MultiAssociationTool::fromTypeinfo
virtual const std::type_info & fromTypeinfo() const
Return the std::type_info for the source of the association.
D3PD::MultiAssociationTool::reset
virtual StatusCode reset(const FROM_T &p)=0
Start the iteration for a new association.
D3PD
Block filler tool for noisy FEB information.
Definition
CaloCellDetailsFillerTool.cxx:29
Generated on
for ATLAS Offline Software by
1.17.0