ATLAS Offline Software
Loading...
Searching...
No Matches
IDC_OverlayBase.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
17
18#ifndef IDC_OVERLAYBASE_H
19#define IDC_OVERLAYBASE_H
20
22
24
26 public:
27 IDC_OverlayBase(const std::string &name, ISvcLocator *pSvcLocator)
28 : AthReentrantAlgorithm(name, pSvcLocator) {}
29
30 protected:
31 template <typename IDC_Container>
32 StatusCode overlayContainer(const IDC_Container *bkgContainer,
33 const IDC_Container *signalContainer,
34 IDC_Container *outputContainer) const;
35
36 template <typename IDC_Container, typename Type>
37 StatusCode overlayContainer(const IDC_Container *bkgContainer,
38 const IDC_Container *signalContainer,
39 IDC_Container *outputContainer,
40 DataPool<Type>& dataItems) const;
41
42 template <typename IDC_Container, typename Type>
43 StatusCode overlayContainerWithSorting(const IDC_Container *bkgContainer,
44 const IDC_Container *signalContainer,
45 IDC_Container *outputContainer,
46 DataPool<Type>& dataItems) const;
47
48 private:
49 template <bool sortCollections, bool usePool, typename Type, typename IDC_Container>
50 StatusCode overlayContainerImpl(const IDC_Container *bkgContainer,
51 const IDC_Container *signalContainer,
52 IDC_Container *outputContainer,
53 DataPool<Type> *dataItems) const;
54};
55
57
58#endif
An algorithm that can be simultaneously executed in multiple threads.
a typed memory pool that saves time spent allocation small object.
Definition DataPool.h:63
StatusCode overlayContainer(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer, DataPool< Type > &dataItems) const
StatusCode overlayContainerWithSorting(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer, DataPool< Type > &dataItems) const
IDC_OverlayBase(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode overlayContainerImpl(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer, DataPool< Type > *dataItems) const
StatusCode overlayContainer(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer) const