ATLAS Offline Software
Loading...
Searching...
No Matches
IDC_MuonOverlayBase.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_MUONOVERLAYCOMMON_H
20#define IDC_MUONOVERLAYCOMMON_H
21
24
25
27{
28public:
29 IDC_MuonOverlayBase(const std::string &name, ISvcLocator *pSvcLocator)
30 : AthReentrantAlgorithm(name, pSvcLocator) {}
31
32protected:
33 template <class IDC_Container>
34 StatusCode overlayContainer(const IDC_Container *bkgContainer,
35 const IDC_Container *signalContainer,
36 IDC_Container *outputContainer) const
37 {
38 return overlayContainerImpl<false>(bkgContainer, signalContainer, outputContainer);
39 }
40
41 template <class IDC_Container>
42 StatusCode overlayMultiHitContainer(const IDC_Container *bkgContainer,
43 const IDC_Container *signalContainer,
44 IDC_Container *outputContainer) const
45 {
46 return overlayContainerImpl<true>(bkgContainer, signalContainer, outputContainer);
47 }
48
49private:
50 template <bool isMultiHitCollection, class IDC_Container>
51 StatusCode overlayContainerImpl(const IDC_Container *bkgContainer,
52 const IDC_Container *signalContainer,
53 IDC_Container *outputContainer) const;
54
55 template <class Collection>
56 std::unique_ptr<Collection> copyCollection(const IdentifierHash &hashId,
57 const Collection *collection) const;
58
59};
60
62
63#endif
An algorithm that can be simultaneously executed in multiple threads.
StatusCode overlayMultiHitContainer(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer) const
std::unique_ptr< Collection > copyCollection(const IdentifierHash &hashId, const Collection *collection) const
StatusCode overlayContainerImpl(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer) const
StatusCode overlayContainer(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer) const
IDC_MuonOverlayBase(const std::string &name, ISvcLocator *pSvcLocator)
This is a "hash" representation of an Identifier.