ATLAS Offline Software
xAODSimHitToMmMeasCnvAlg.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 XAODMUONSIMHITCNV_xAODSimHitToMmMeasurementCnvAlg_H
5 #define XAODMUONSIMHITCNV_xAODSimHitToMmMeasurementCnvAlg_H
6 
8 
12 
15 
18 
20 #include <CLHEP/Random/RandomEngine.h>
21 
23 
30  public:
31  xAODSimHitToMmMeasCnvAlg(const std::string& name, ISvcLocator* pSvcLocator);
32 
34 
35  StatusCode execute(const EventContext& ctx) const override final;
36  StatusCode initialize() override final;
37  StatusCode finalize() override final;
38 
39  private:
40  CLHEP::HepRandomEngine* getRandomEngine(const EventContext& ctx) const;
41 
42 
43  SG::ReadHandleKey<xAOD::MuonSimHitContainer> m_readKey{this, "InputCollection", "xMmSimHits",
44  "Name of the new xAOD SimHit collection"};
45 
46  SG::WriteHandleKey<xAOD::MMClusterContainer> m_writeKey{this, "OutputContainer", "xAODMMClusters",
47  "Output container"};
48 
51 
52  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
53 
54  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""}; // Random number service
55  Gaudi::Property<std::string> m_streamName{this, "RandomStream", "MmSimHitForkLifting"};
56 
57  SG::ReadCondHandleKey<NswErrorCalibData> m_uncertCalibKey{this, "ErrorCalibKey", "NswUncertData",
58  "Key of the parametrized NSW uncertainties"};
59 
60  mutable std::array<std::atomic<unsigned>, 8> m_allHits ATLAS_THREAD_SAFE{};
61  mutable std::array<std::atomic<unsigned>, 8> m_acceptedHits ATLAS_THREAD_SAFE{};
62 
63 };
64 
65 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
xAODSimHitToMmMeasCnvAlg::finalize
StatusCode finalize() override final
Definition: xAODSimHitToMmMeasCnvAlg.cxx:31
xAODSimHitToMmMeasCnvAlg::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const EventContext &ctx) const
Definition: xAODSimHitToMmMeasCnvAlg.cxx:125
xAODSimHitToMmMeasCnvAlg::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: xAODSimHitToMmMeasCnvAlg.h:54
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:61
xAODSimHitToMmMeasCnvAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: xAODSimHitToMmMeasCnvAlg.h:52
xAODSimHitToMmMeasCnvAlg::~xAODSimHitToMmMeasCnvAlg
~xAODSimHitToMmMeasCnvAlg()=default
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
xAODSimHitToMmMeasCnvAlg::m_uncertCalibKey
SG::ReadCondHandleKey< NswErrorCalibData > m_uncertCalibKey
Definition: xAODSimHitToMmMeasCnvAlg.h:57
xAODSimHitToMmMeasCnvAlg::m_readKey
SG::ReadHandleKey< xAOD::MuonSimHitContainer > m_readKey
Definition: xAODSimHitToMmMeasCnvAlg.h:43
xAODSimHitToMmMeasCnvAlg::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned >, 8 > m_allHits ATLAS_THREAD_SAFE
Definition: xAODSimHitToMmMeasCnvAlg.h:60
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
xAODSimHitToMmMeasCnvAlg
The xAODSimHitTosTGCMasCnvAlg is a short cut towards the stgc strip measurement It takes the SimHits ...
Definition: xAODSimHitToMmMeasCnvAlg.h:29
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
xAODSimHitToMmMeasCnvAlg::m_writeKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_writeKey
Definition: xAODSimHitToMmMeasCnvAlg.h:46
MuonDetectorManager.h
xAODSimHitToMmMeasCnvAlg::m_DetMgr
const MuonGMR4::MuonDetectorManager * m_DetMgr
Access to the new readout geometry.
Definition: xAODSimHitToMmMeasCnvAlg.h:50
MuonSimHitContainer.h
NswErrorCalibData.h
MMClusterContainer.h
ReadCondHandleKey.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
xAODSimHitToMmMeasCnvAlg::initialize
StatusCode initialize() override final
Definition: xAODSimHitToMmMeasCnvAlg.cxx:23
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAODSimHitToMmMeasCnvAlg::xAODSimHitToMmMeasCnvAlg
xAODSimHitToMmMeasCnvAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: xAODSimHitToMmMeasCnvAlg.cxx:19
xAODSimHitToMmMeasCnvAlg::m_streamName
Gaudi::Property< std::string > m_streamName
Definition: xAODSimHitToMmMeasCnvAlg.h:55
SG::ReadCondHandleKey< NswErrorCalibData >
xAODSimHitToMmMeasCnvAlg::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: xAODSimHitToMmMeasCnvAlg.cxx:45
xAOD::MuonSimHitContainer
MuonSimHitContainer_v1 MuonSimHitContainer
Define the version of the pixel cluster container.
Definition: MuonSimHitContainer.h:14
IMuonIdHelperSvc.h
IAthRNGSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >