ATLAS Offline Software
Loading...
Searching...
No Matches
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
11
12namespace MuonR4{
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
66
67 SG::WriteHandleKey<TgcDigitContainer> m_writeKey{this, "OutputObjectName", "TGC_DIGITS"};
68
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
Barebone implementation of the I/O infrastructure for all MuonDigitizationTools.
std::vector< TimedHitPtr< xAOD::MuonSimHit > > TimedHits
std::vector< std::unique_ptr< DetType > > OutDigitCache_t
DigitContainers are sorted by DigitCollections which are the ensemble of all hits in a given MuonCham...
TimedHitPtr< xAOD::MuonSimHit > TimedHit
std::unordered_map< Identifier, double > DeadTimeMap
std::array< std::atomic< unsigned >, 2 > m_allHits ATLAS_THREAD_SAFE
StatusCode finalize() override final
OutDigitCache_t< TgcDigitCollection > DigiCache
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...
StatusCode initialize() override final
SG::WriteHandleKey< TgcDigitContainer > m_writeKey
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 ...
Gaudi::Property< bool > m_digitizeMuonOnly
SG::ReadCondHandleKey< Muon::DigitEffiData > m_effiDataKey
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...
int associateBCIdTag(const EventContext &ctx, const TimedHit &timedHit) const
: Associates the global bcIdTag to the digit
Gaudi::Property< double > m_deadTime
Property holding a SG store/key/clid from which a WriteHandle is made.
This header ties the generic definitions in this package.
MuonSimHitContainer_v1 MuonSimHitContainer
Define the version of the pixel cluster container.