ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDigitization
TgcDigitizationR4
src
TgcFastDigiTool.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 TGC_DIGITIZATIONR4_TGCFASTDIGITOOL_H
5
#define TGC_DIGITIZATIONR4_TGCFASTDIGITOOL_H
6
7
8
#include "
MuonDigitizationR4/MuonDigitizationTool.h
"
9
#include "
MuonDigitContainer/TgcDigitContainer.h
"
10
#include "
MuonCondData/DigitEffiData.h
"
11
12
namespace
MuonR4
{
13
class
TgcFastDigiTool
final:
public
MuonDigitizationTool
{
14
public
:
15
using
MuonDigitizationTool::MuonDigitizationTool;
16
17
StatusCode
initialize
()
override
final
;
18
StatusCode
finalize
()
override
final
;
19
protected
:
20
StatusCode
digitize
(
const
EventContext& ctx,
21
const
TimedHits
& hitsToDigit,
22
xAOD::MuonSimHitContainer
* sdoContainer)
const
override
final
;
23
private
:
34
bool
digitizeWireHit
(
const
EventContext& ctx,
35
const
TimedHit
& timedHit,
36
const
Muon::DigitEffiData
* efficiencyMap,
37
TgcDigitCollection
& outColl,
38
CLHEP::HepRandomEngine* rndEngine,
39
DeadTimeMap
& deadTimes)
const
;
40
51
bool
digitizeStripHit
(
const
EventContext& ctx,
52
const
TimedHit
& timedHit,
53
const
Muon::DigitEffiData
* efficiencyMap,
54
TgcDigitCollection
& outColl,
55
CLHEP::HepRandomEngine* rndEngine,
56
DeadTimeMap
& deadTimes)
const
;
57
62
int
associateBCIdTag
(
const
EventContext& ctx,
63
const
TimedHit
& timedHit)
const
;
64
65
using
DigiCache
=
OutDigitCache_t<TgcDigitCollection>
;
66
67
SG::WriteHandleKey<TgcDigitContainer>
m_writeKey
{
this
,
"OutputObjectName"
,
"TGC_DIGITS"
};
68
69
SG::ReadCondHandleKey<Muon::DigitEffiData>
m_effiDataKey
{
this
,
"EffiDataKey"
,
"TgcDigitEff"
,
70
"Efficiency constants of the individual Rpc gasGaps"
};
71
72
mutable
std::array<std::atomic<unsigned>, 2> m_allHits
ATLAS_THREAD_SAFE
{};
73
mutable
std::array<std::atomic<unsigned>, 2> m_acceptedHits
ATLAS_THREAD_SAFE
{};
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
}
83
#endif
DigitEffiData.h
MuonDigitizationTool.h
TgcDigitContainer.h
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::TgcFastDigiTool
Definition
TgcFastDigiTool.h:13
MuonR4::TgcFastDigiTool::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned >, 2 > m_allHits ATLAS_THREAD_SAFE
Definition
TgcFastDigiTool.h:72
MuonR4::TgcFastDigiTool::finalize
StatusCode finalize() override final
Definition
TgcFastDigiTool.cxx:26
MuonR4::TgcFastDigiTool::DigiCache
OutDigitCache_t< TgcDigitCollection > DigiCache
Definition
TgcFastDigiTool.h:65
MuonR4::TgcFastDigiTool::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
TgcFastDigiTool.cxx:191
MuonR4::TgcFastDigiTool::initialize
StatusCode initialize() override final
Definition
TgcFastDigiTool.cxx:20
MuonR4::TgcFastDigiTool::m_writeKey
SG::WriteHandleKey< TgcDigitContainer > m_writeKey
Definition
TgcFastDigiTool.h:67
MuonR4::TgcFastDigiTool::digitizeStripHit
bool digitizeStripHit(const EventContext &ctx, const TimedHit &timedHit, const Muon::DigitEffiData *efficiencyMap, TgcDigitCollection &outColl, CLHEP::HepRandomEngine *rndEngine, DeadTimeMap &deadTimes) const
Digitize the strip hit by smearing the truth hit position according to the wire group pitch and then ...
Definition
TgcFastDigiTool.cxx:112
MuonR4::TgcFastDigiTool::m_digitizeMuonOnly
Gaudi::Property< bool > m_digitizeMuonOnly
Definition
TgcFastDigiTool.h:77
MuonR4::TgcFastDigiTool::m_effiDataKey
SG::ReadCondHandleKey< Muon::DigitEffiData > m_effiDataKey
Definition
TgcFastDigiTool.h:69
MuonR4::TgcFastDigiTool::digitizeWireHit
bool digitizeWireHit(const EventContext &ctx, const TimedHit &timedHit, const Muon::DigitEffiData *efficiencyMap, TgcDigitCollection &outColl, CLHEP::HepRandomEngine *rndEngine, DeadTimeMap &deadTimes) const
Digitize the wire hit by smearing the truth hit position according to the wire group pitch and then a...
Definition
TgcFastDigiTool.cxx:38
MuonR4::TgcFastDigiTool::associateBCIdTag
int associateBCIdTag(const EventContext &ctx, const TimedHit &timedHit) const
: Associates the global bcIdTag to the digit
Definition
TgcFastDigiTool.cxx:33
MuonR4::TgcFastDigiTool::m_deadTime
Gaudi::Property< double > m_deadTime
Definition
TgcFastDigiTool.h:75
Muon::DigitEffiData
Definition
DigitEffiData.h:23
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
TgcDigitCollection
Definition
TgcDigitCollection.h:17
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