ATLAS Offline Software
Loading...
Searching...
No Matches
SimHitCreatorMS.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FATRASTOOLSMS_SIMHITCREATORMS_H
6#define ISF_FATRASTOOLSMS_SIMHITCREATORMS_H
7
8// Athena & Gaudi includes
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ToolHandle.h"
13#include "GaudiKernel/IIncidentListener.h"
15// ISF includes
17// Tracking includes
20// Muon includes
27//Muon ReadoutGeometry includes
31
32// Muon
33class MdtHitIdHelper;
34class RpcHitIdHelper;
35class CscHitIdHelper;
36class TgcHitIdHelper;
37
38namespace MuonGM {
40}
41
42namespace Trk {
43 class Layer;
44}
45
46namespace ISF {
47 class ISFParticle;
48}
49
52
53namespace iFatras
54{
55
64
65 class ATLAS_NOT_THREAD_SAFE SimHitCreatorMS : public extends<AthAlgTool, ISimHitCreator, IIncidentListener> // deprecated: ATLASSIM-6020
66 {
67 public:
68 SimHitCreatorMS(const std::string&,const std::string&,const IInterface*);
69
71 virtual ~SimHitCreatorMS ()=default;
72
73 virtual StatusCode initialize();
74
76 void handle(const Incident& inc);
77
79 void createHits(const ISF::ISFParticle& isp,
80 const std::vector<Trk::HitInfo>& hits) const;
81
83
84 private:
85
87 bool createHit(const ISF::ISFParticle& isp, const Trk::Layer* , const Trk::TrackParameters*, Identifier, double, double, bool) const;
88
89 int offIdToSimId(Identifier id) const;
90
93
95 ToolHandle<Trk::ITimedExtrapolator> m_extrapolator;
96
98 ToolHandle<Muon::IMuonTGMeasTool> m_measTool;
99
100 /* Hit collections and collection helpers */
113
116 std::string m_randomEngineName;
117 CLHEP::HepRandomEngine* m_randomEngine;
122 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
125
127
129
130 int m_BMGid; //added to protect against dead sensors
132 bool m_BMGpresent = false;//added to protect against dead sensors
133 std::map<Identifier, std::vector<Identifier> > m_DeadChannels;
134 };
135
136
137} // end of namespace
138
139#endif
AtlasHitsVector< CSCSimHit > CSCSimHitCollection
AtlasHitsVector< MDTSimHit > MDTSimHitCollection
AtlasHitsVector< MMSimHit > MMSimHitCollection
AtlasHitsVector< RPCSimHit > RPCSimHitCollection
AtlasHitsVector< TGCSimHit > TGCSimHitCollection
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
The generic ISF particle definition,.
Definition ISFParticle.h:42
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
ToolHandle< Trk::ITimedExtrapolator > m_extrapolator
Tool using the track creator per event.
ToolHandle< Muon::IMuonTGMeasTool > m_measTool
Muon TrackingGeometry Measurement Tool.
const CscHitIdHelper * m_cscHitIdHelper
const MdtHitIdHelper * m_mdtHitIdHelper
int offIdToSimId(Identifier id) const
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
ServiceHandle< IIncidentSvc > m_incidentSvc
Incident Service.
const RpcHitIdHelper * m_rpcHitIdHelper
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
CSCSimHitCollection * m_cscSimHitCollection
void handle(const Incident &inc)
handle for incident service
SimHitCreatorMS(const std::string &, const std::string &, const IInterface *)
std::map< Identifier, std::vector< Identifier > > m_DeadChannels
MMSimHitCollection * m_mmSimHitCollection
RPCSimHitCollection * m_rpcSimHitCollection
const MuonGM::MuonDetectorManager * m_muonMgr
bool createHit(const ISF::ISFParticle &isp, const Trk::Layer *, const Trk::TrackParameters *, Identifier, double, double, bool) const
Private HitCreate method - returns bool for a successful hit creation.
void createHits(const ISF::ISFParticle &isp, const std::vector< Trk::HitInfo > &hits) const
Loop over the hits and call the hit creator - also provide the ISF particle to register the truth lin...
ServiceHandle< IAtRndmGenSvc > m_randomSvc
Pointer to the random number generator service.
const TgcHitIdHelper * m_tgcHitIdHelper
MM_SimIdToOfflineId * m_mmOffToSimId
MDTSimHitCollection * m_mdtSimHitCollection
sTgcSimIdToOfflineId * m_stgcOffToSimId
sTGCSimHitCollection * m_stgcSimHitCollection
std::string m_randomEngineName
Name of the random number stream.
TGCSimHitCollection * m_tgcSimHitCollection
virtual ~SimHitCreatorMS()=default
default destructor
CLHEP::HepRandomEngine * m_randomEngine
Random Engine.
ISFParticleOrderedQueue.
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
void initialize()
AtlasHitsVector< sTGCSimHit > sTGCSimHitCollection