ATLAS Offline Software
Loading...
Searching...
No Matches
MmFastDigiTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MM_DIGITIZATIONR4_MMFASTDIGITOOL_H
5#define MM_DIGITIZATIONR4_MMFASTDIGITOOL_H
6
7
10
13
14namespace MuonR4{
15 /***
16 * @brief: Smearing of hits stemming from muons using the best knowledge uncertainties
17 */
19 public:
20 MmFastDigiTool(const std::string& type, const std::string& name, const IInterface* pIID);
21
22 StatusCode initialize() override final;
23 StatusCode finalize() override final;
24 protected:
25 StatusCode digitize(const EventContext& ctx,
26 const TimedHits& hitsToDigit,
27 xAOD::MuonSimHitContainer* sdoContainer) const override final;
28
29
30 private:
32 SG::WriteHandleKey<MmDigitContainer> m_writeKey{this, "OutputObjectName", "MM_DIGITS"};
33
35 "Efficiency constants of the individual Rpc gasGaps"};
36
37 SG::ReadCondHandleKey<NswErrorCalibData> m_uncertCalibKey{this, "ErrorCalibKey", "NswUncertData",
38 "Key of the parametrized NSW uncertainties"};
39
40
41 mutable std::array<std::atomic<unsigned>, 8> m_allHits ATLAS_THREAD_SAFE{};
42 mutable std::array<std::atomic<unsigned>, 8> m_acceptedHits ATLAS_THREAD_SAFE{};
43
44 // Dead time between two hits in the same channel
45 Gaudi::Property<double> m_deadTime{this, "deadTime", 300. * Gaudi::Units::ns};
46
47 Gaudi::Property<bool> m_digitizeMuonOnly{this, "ProcessTrueMuonsOnly", false,
48 "If set to true hit with pdgId != 13 are skipped"};
49 Gaudi::Property<double> m_energyThreshold{this, "EnergyThreshold", 50, "Minimal energy to process an electron sim hit"};
50 };
51}
52#endif
SG::ReadCondHandleKey< NswErrorCalibData > m_uncertCalibKey
SG::ReadCondHandleKey< Muon::DigitEffiData > m_effiDataKey
Gaudi::Property< double > m_deadTime
Gaudi::Property< bool > m_digitizeMuonOnly
Gaudi::Property< double > m_energyThreshold
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 finalize() override final
SG::WriteHandleKey< MmDigitContainer > m_writeKey
std::array< std::atomic< unsigned >, 8 > m_allHits ATLAS_THREAD_SAFE
StatusCode initialize() override final
OutDigitCache_t< MmDigitCollection > DigiCache
MmFastDigiTool(const std::string &type, const std::string &name, const IInterface *pIID)
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...
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.