ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRawAlgs
InDetOverlay
InDetOverlay
BCMOverlay.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#ifndef INDETOVERLAY_BCMOVERLAY_H
13
#define INDETOVERLAY_BCMOVERLAY_H
14
15
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
16
#include "
InDetBCM_RawData/BCM_RDO_Container.h
"
17
18
struct
BCM_Pulse
{
19
BCM_Pulse
(
unsigned
int
p_,
unsigned
int
w_) {
p
= p_;
w
= w_;};
20
unsigned
int
p
{};
21
unsigned
int
w
{};
22
};
23
24
class
BCMOverlay
:
public
AthReentrantAlgorithm
25
{
26
public
:
27
28
BCMOverlay
(
const
std::string &name, ISvcLocator *pSvcLocator);
29
30
virtual
StatusCode
initialize
()
override
final
;
31
virtual
StatusCode
execute
(
const
EventContext& ctx)
const
override
final
;
32
33
StatusCode
overlayContainer
(
const
EventContext& ctx,
34
const
BCM_RDO_Container
*bkgContainer,
35
const
BCM_RDO_Container
*signalContainer,
36
BCM_RDO_Container
*outputContainer)
const
;
37
38
private
:
39
40
std::unique_ptr<BCM_RawData>
mergeChannel
(
const
BCM_RawData
*bkgRDO,
41
const
BCM_RawData
*signalRDO)
const
;
42
43
static
void
overlayPulses
(std::vector<std::unique_ptr<BCM_Pulse>>& merged_pulses) ;
44
45
static
std::pair<BCM_Pulse*, BCM_Pulse*>
timeOrder
(
BCM_Pulse
* pulse1,
BCM_Pulse
* pulse2) ;
46
47
static
bool
compare
(
const
std::unique_ptr<BCM_Pulse>&
a
,
const
std::unique_ptr<BCM_Pulse>& b);
48
49
Gaudi::Property<bool>
m_dataOverlay
{
this
,
"isDataOverlay"
,
false
,
"Flag to switch between MC and data overlay"
};
50
Gaudi::Property<bool>
m_storeAllBCID
{
this
,
"storeAllBCID"
,
false
,
"Store all BCID"
};
51
52
SG::ReadHandleKey<BCM_RDO_Container>
m_bkgInputKey
{
this
,
"BkgInputKey"
,
"Bkg_BCM_RDOs"
,
"ReadHandleKey for Background Input BCM_RDO_Container"
};
53
SG::ReadHandleKey<BCM_RDO_Container>
m_signalInputKey
{
this
,
"SignalInputKey"
,
"Sig_BCM_RDOs"
,
"ReadHandleKey for Signal Input BCM_RDO_Container"
};
54
SG::WriteHandleKey<BCM_RDO_Container>
m_outputKey
{
this
,
"OutputKey"
,
"BCM_RDOs"
,
"WriteHandleKey for Output BCM_RDO_Container"
};
55
56
};
57
58
#endif
// INDETOVERLAY_BCMOVERLAY_H
AthReentrantAlgorithm.h
BCM_RDO_Container.h
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
BCMOverlay::overlayContainer
StatusCode overlayContainer(const EventContext &ctx, const BCM_RDO_Container *bkgContainer, const BCM_RDO_Container *signalContainer, BCM_RDO_Container *outputContainer) const
Definition
BCMOverlay.cxx:72
BCMOverlay::overlayPulses
static void overlayPulses(std::vector< std::unique_ptr< BCM_Pulse > > &merged_pulses)
Definition
BCMOverlay.cxx:229
BCMOverlay::mergeChannel
std::unique_ptr< BCM_RawData > mergeChannel(const BCM_RawData *bkgRDO, const BCM_RawData *signalRDO) const
Definition
BCMOverlay.cxx:156
BCMOverlay::initialize
virtual StatusCode initialize() override final
Definition
BCMOverlay.cxx:16
BCMOverlay::m_bkgInputKey
SG::ReadHandleKey< BCM_RDO_Container > m_bkgInputKey
Definition
BCMOverlay.h:52
BCMOverlay::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition
BCMOverlay.cxx:31
BCMOverlay::compare
static bool compare(const std::unique_ptr< BCM_Pulse > &a, const std::unique_ptr< BCM_Pulse > &b)
Definition
BCMOverlay.cxx:288
BCMOverlay::m_outputKey
SG::WriteHandleKey< BCM_RDO_Container > m_outputKey
Definition
BCMOverlay.h:54
BCMOverlay::m_signalInputKey
SG::ReadHandleKey< BCM_RDO_Container > m_signalInputKey
Definition
BCMOverlay.h:53
BCMOverlay::m_dataOverlay
Gaudi::Property< bool > m_dataOverlay
Definition
BCMOverlay.h:49
BCMOverlay::timeOrder
static std::pair< BCM_Pulse *, BCM_Pulse * > timeOrder(BCM_Pulse *pulse1, BCM_Pulse *pulse2)
Definition
BCMOverlay.cxx:279
BCMOverlay::BCMOverlay
BCMOverlay(const std::string &name, ISvcLocator *pSvcLocator)
Definition
BCMOverlay.cxx:11
BCMOverlay::m_storeAllBCID
Gaudi::Property< bool > m_storeAllBCID
Definition
BCMOverlay.h:50
BCM_RDO_Container
Definition
BCM_RDO_Container.h:27
BCM_RawData
Definition
BCM_RawData.h:36
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
BCM_Pulse
Definition
BCMOverlay.h:18
BCM_Pulse::BCM_Pulse
BCM_Pulse(unsigned int p_, unsigned int w_)
Definition
BCMOverlay.h:19
BCM_Pulse::w
unsigned int w
Definition
BCMOverlay.h:21
BCM_Pulse::p
unsigned int p
Definition
BCMOverlay.h:20
Generated on
for ATLAS Offline Software by
1.17.0