ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
Overlay
IDC_OverlayBase
IDC_OverlayBase
IDC_OverlayCommon.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Dear emacs, this is -*-c++-*-
6
18
19
#ifndef IDC_OVERLAYCOMMON_H
20
#define IDC_OVERLAYCOMMON_H
21
22
#include <memory>
23
24
#include <
Identifier/IdentifierHash.h
>
25
#include "
AthAllocators/DataPool.h
"
26
27
namespace
Overlay
28
{
29
30
/*
31
* We do not have implementations for these.
32
* A concrete algorithm inheriting from
33
* IDC_OverlayBase will have to specialize
34
* one of the two based on if uses
35
* DataPool or not
36
*/
37
template
<
class
Collection>
38
std::unique_ptr<Collection>
copyCollection
(
const
IdentifierHash
&hashId,
39
const
Collection *collection);
40
41
template
<
typename
Collection,
typename
Type>
42
std::unique_ptr<Collection>
copyCollection
(
const
IdentifierHash
&hashId,
43
const
Collection *collection,
44
DataPool<Type>
& dataItems);
45
/*
46
* We have implementations for these.
47
* A concrete algorithm inheriting from
48
* IDC_OverlayBase could potentially specialize
49
* one of the two based on if uses
50
* DataPool or not
51
*/
52
template
<
typename
Collection,
typename
Alg>
53
void
mergeCollections
(Collection *bkgCollection,
54
Collection *signalCollection,
55
Collection *outputCollection,
56
const
Alg *
algorithm
);
57
58
template
<
typename
Type,
typename
Collection,
typename
Alg>
59
void
mergeCollections
(Collection *bkgCollection,
60
Collection *signalCollection,
61
Collection *outputCollection,
62
const
Alg *
algorithm
,
63
DataPool<Type>
& dataItems);
64
65
template
<
typename
Type,
typename
Collection,
typename
Alg>
66
void
mergeSortedCollections
(Collection *bkgCollection,
67
Collection *signalCollection,
68
Collection *outputCollection,
69
const
Alg *
algorithm
,
70
DataPool<Type>
& dataItems);
71
72
/*
73
* We have a dummy implementation of this.
74
* Algorithms have to specialize this.
75
*/
76
template
<
class
Datum,
class
Alg>
77
void
mergeChannelData
(Datum &baseDatum,
78
const
Datum &additionalDatum,
79
const
Alg *
algorithm
);
80
81
/*
82
* Algorithms have to specialize this if used.
83
*/
84
template
<
typename
Collection>
85
void
sortCollection
(Collection *collection);
86
87
}
// namespace Overlay
88
89
#include "
IDC_OverlayBase/IDC_OverlayCommon.icc
"
90
91
#endif
DataPool.h
IDC_OverlayCommon.icc
IdentifierHash.h
DataPool
a typed memory pool that saves time spent allocation small object.
Definition
DataPool.h:63
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
algorithm
std::string algorithm
Definition
hcg.cxx:87
Overlay
Helpers for overlaying Identifiable Containers.
Definition
HGTD_Overlay.cxx:11
Overlay::mergeChannelData
void mergeChannelData(HGTD_RDO &, const HGTD_RDO &, const IDC_OverlayBase *algorithm)
Definition
HGTD_Overlay.cxx:14
Overlay::sortCollection
void sortCollection(PixelRDO_Collection *collection)
Definition
PixelOverlay.cxx:54
Overlay::mergeSortedCollections
void mergeSortedCollections(Collection *bkgCollection, Collection *signalCollection, Collection *outputCollection, const Alg *algorithm, DataPool< Type > &dataItems)
Overlay::copyCollection
std::unique_ptr< HGTD_RDO_Collection > copyCollection(const IdentifierHash &hashId, const HGTD_RDO_Collection *collection)
Definition
HGTD_Overlay.cxx:24
Overlay::mergeCollections
void mergeCollections(SCT_RDO_Collection *bkgCollection, SCT_RDO_Collection *signalCollection, SCT_RDO_Collection *outputCollection, const IDC_OverlayBase *algorithm, DataPool< SCT3_RawData > &dataItems)
Definition
SCTOverlay.cxx:48
Generated on
for ATLAS Offline Software by
1.17.0