ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDigitization
RpcDigitizationR4
src
RpcFastDigiTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef RPC_DIGITIZATIONR4_RPCFASTDIGITOOL_H
5
#define RPC_DIGITIZATIONR4_RPCFASTDIGITOOL_H
6
7
8
#include "
MuonDigitizationR4/MuonDigitizationTool.h
"
9
#include "
MuonDigitContainer/RpcDigitContainer.h
"
10
#include "
MuonCondData/DigitEffiData.h
"
11
12
13
#include "GaudiKernel/PhysicalConstants.h"
14
15
namespace
MuonR4
{
16
class
RpcFastDigiTool
final:
public
MuonDigitizationTool
{
17
public
:
18
using
MuonDigitizationTool::MuonDigitizationTool;
19
20
StatusCode
initialize
()
override
final
;
21
StatusCode
finalize
()
override
final
;
22
protected
:
23
StatusCode
digitize
(
const
EventContext& ctx,
24
const
TimedHits
& hitsToDigit,
25
xAOD::MuonSimHitContainer
* sdoContainer)
const
override
final
;
26
27
28
private
:
29
using
EdgeSide
=
MuonGMR4::RpcReadoutElement::EdgeSide
;
30
38
bool
digitizeHit
(
const
TimedHit
& simHit,
39
const
bool
measuresPhi,
40
const
Muon::DigitEffiData
* effiMap,
41
RpcDigitCollection
& outContainer,
42
CLHEP::HepRandomEngine* rndEngine,
43
DeadTimeMap
& deadTimes)
const
;
44
51
bool
digitizeHitBI
(
const
TimedHit
& simHit,
52
const
Muon::DigitEffiData
* effiMap,
53
RpcDigitCollection
& outContainer,
54
CLHEP::HepRandomEngine* rndEngine,
55
DeadTimeMap
& deadTimes)
const
;
56
58
static
double
timeOverThreshold
(CLHEP::HepRandomEngine* rndmEngine) ;
59
60
using
DigiCache
=
OutDigitCache_t<RpcDigitCollection>
;
61
SG::WriteHandleKey<RpcDigitContainer>
m_writeKey
{
this
,
"OutputObjectName"
,
"RPC_DIGITS"
};
62
63
SG::ReadCondHandleKey<Muon::DigitEffiData>
m_effiDataKey
{
this
,
"EffiDataKey"
,
"RpcDigitEff"
,
64
"Efficiency constants of the individual Rpc gasGaps"
};
65
66
mutable
std::array<std::atomic<unsigned>, 2> m_allHits
ATLAS_THREAD_SAFE
{};
67
mutable
std::array<std::atomic<unsigned>, 2> m_acceptedHits
ATLAS_THREAD_SAFE
{};
68
69
Gaudi::Property<double>
m_propagationVelocity
{
this
,
"propSpeed"
, 0.5 * Gaudi::Units::c_light,
70
"Propagation speed of the signal inside the strip"
};
// in mm/ns
71
72
Gaudi::Property<double>
m_stripTimeResolution
{
this
,
"timeResolution"
, 0.6 * Gaudi::Units::nanosecond,
73
"Estimated time resolution of the strip readout"
};
74
75
Gaudi::Property<double>
m_deadTime
{
this
,
"deadTime"
, 100.*Gaudi::Units::nanosecond};
76
77
Gaudi::Property<bool>
m_digitizeMuonOnly
{
this
,
"ProcessTrueMuonsOnly"
,
false
,
78
"If set to true hit with pdgId != 13 are skipped"
};
79
80
};
81
}
82
#endif
DigitEffiData.h
MuonDigitizationTool.h
RpcDigitContainer.h
MuonGMR4::RpcReadoutElement::EdgeSide
EdgeSide
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:109
MuonR4::MuonDigitizationTool
Barebone implementation of the I/O infrastructure for all MuonDigitizationTools.
Definition
MuonDigitizationTool.h:30
MuonR4::MuonDigitizationTool::TimedHits
std::vector< TimedHitPtr< xAOD::MuonSimHit > > TimedHits
Definition
MuonDigitizationTool.h:58
MuonR4::MuonDigitizationTool::OutDigitCache_t
std::vector< std::unique_ptr< DetType > > OutDigitCache_t
DigitContainers are sorted by DigitCollections which are the ensemble of all hits in a given MuonCham...
Definition
MuonDigitizationTool.h:80
MuonR4::MuonDigitizationTool::TimedHit
TimedHitPtr< xAOD::MuonSimHit > TimedHit
Definition
MuonDigitizationTool.h:57
MuonR4::MuonDigitizationTool::DeadTimeMap
std::unordered_map< Identifier, double > DeadTimeMap
Definition
MuonDigitizationTool.h:100
MuonR4::RpcFastDigiTool
Definition
RpcFastDigiTool.h:16
MuonR4::RpcFastDigiTool::finalize
StatusCode finalize() override final
Definition
RpcFastDigiTool.cxx:28
MuonR4::RpcFastDigiTool::digitizeHitBI
bool digitizeHitBI(const TimedHit &simHit, const Muon::DigitEffiData *effiMap, RpcDigitCollection &outContainer, CLHEP::HepRandomEngine *rndEngine, DeadTimeMap &deadTimes) const
Digitize the sim hit as Rpc strip 2D hit.
Definition
RpcFastDigiTool.cxx:158
MuonR4::RpcFastDigiTool::m_writeKey
SG::WriteHandleKey< RpcDigitContainer > m_writeKey
Definition
RpcFastDigiTool.h:61
MuonR4::RpcFastDigiTool::m_digitizeMuonOnly
Gaudi::Property< bool > m_digitizeMuonOnly
Definition
RpcFastDigiTool.h:77
MuonR4::RpcFastDigiTool::m_propagationVelocity
Gaudi::Property< double > m_propagationVelocity
Definition
RpcFastDigiTool.h:69
MuonR4::RpcFastDigiTool::m_deadTime
Gaudi::Property< double > m_deadTime
Definition
RpcFastDigiTool.h:75
MuonR4::RpcFastDigiTool::timeOverThreshold
static double timeOverThreshold(CLHEP::HepRandomEngine *rndmEngine)
Roll the time over threshold for each signal digit.
Definition
RpcFastDigiTool.cxx:249
MuonR4::RpcFastDigiTool::m_stripTimeResolution
Gaudi::Property< double > m_stripTimeResolution
Definition
RpcFastDigiTool.h:72
MuonR4::RpcFastDigiTool::digitize
StatusCode digitize(const EventContext &ctx, const TimedHits &hitsToDigit, xAOD::MuonSimHitContainer *sdoContainer) const override final
Digitize the time ordered hits and write them to the digit format specific for the detector technolog...
Definition
RpcFastDigiTool.cxx:34
MuonR4::RpcFastDigiTool::DigiCache
OutDigitCache_t< RpcDigitCollection > DigiCache
Definition
RpcFastDigiTool.h:60
MuonR4::RpcFastDigiTool::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned >, 2 > m_allHits ATLAS_THREAD_SAFE
Definition
RpcFastDigiTool.h:66
MuonR4::RpcFastDigiTool::initialize
StatusCode initialize() override final
Definition
RpcFastDigiTool.cxx:22
MuonR4::RpcFastDigiTool::m_effiDataKey
SG::ReadCondHandleKey< Muon::DigitEffiData > m_effiDataKey
Definition
RpcFastDigiTool.h:63
MuonR4::RpcFastDigiTool::digitizeHit
bool digitizeHit(const TimedHit &simHit, const bool measuresPhi, const Muon::DigitEffiData *effiMap, RpcDigitCollection &outContainer, CLHEP::HepRandomEngine *rndEngine, DeadTimeMap &deadTimes) const
Digitize the sim hit as Rpc strip 1D hit.
Definition
RpcFastDigiTool.cxx:83
MuonR4::RpcFastDigiTool::EdgeSide
MuonGMR4::RpcReadoutElement::EdgeSide EdgeSide
Definition
RpcFastDigiTool.h:29
Muon::DigitEffiData
Definition
DigitEffiData.h:23
RpcDigitCollection
Definition
RpcDigitCollection.h:17
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
MuonR4
This header ties the generic definitions in this package.
Definition
GlobalPattern.h:14
xAOD::MuonSimHitContainer
MuonSimHitContainer_v1 MuonSimHitContainer
Define the version of the pixel cluster container.
Definition
MuonSimHitContainer.h:14
Generated on
for ATLAS Offline Software by
1.17.0