ATLAS Offline Software
SimHitCreatorMS.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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
33 class MdtHitIdHelper;
34 class RpcHitIdHelper;
35 class CscHitIdHelper;
36 class TgcHitIdHelper;
37 
38 namespace MuonGM {
39  class MuonDetectorManager;
40 }
41 
42 namespace Trk {
43  class Layer;
44 }
45 
46 namespace ISF {
47  class ISFParticle;
48 }
49 
50 struct MM_SimIdToOfflineId;
52 
53 namespace iFatras
54 {
55 
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 
82  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
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 */
107  std::string m_mdtCollectionName;
108  std::string m_rpcCollectionName;
109  std::string m_tgcCollectionName;
110  std::string m_cscCollectionName;
111  std::string m_mmCollectionName;
112  std::string m_stgcCollectionName;
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
iFatras::SimHitCreatorMS::m_muonMgr
const MuonGM::MuonDetectorManager * m_muonMgr
Definition: SimHitCreatorMS.h:126
iFatras::SimHitCreatorMS::m_BMGid
int m_BMGid
Definition: SimHitCreatorMS.h:130
iFatras::SimHitCreatorMS::m_cscHitIdHelper
const CscHitIdHelper * m_cscHitIdHelper
Definition: SimHitCreatorMS.h:120
iFatras::SimHitCreatorMS::m_stgcSimHitCollection
sTGCSimHitCollection * m_stgcSimHitCollection
Definition: SimHitCreatorMS.h:106
MdtReadoutElement.h
iFatras::SimHitCreatorMS::m_cscSimHitCollection
CSCSimHitCollection * m_cscSimHitCollection
Definition: SimHitCreatorMS.h:104
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
sTgcSimIdToOfflineId
Definition: sTgcSimIdToOfflineId.h:12
TrackParameters.h
iFatras::SimHitCreatorMS::m_rpcSimHitCollection
RPCSimHitCollection * m_rpcSimHitCollection
Definition: SimHitCreatorMS.h:102
MdtHitIdHelper
Definition: MdtHitIdHelper.h:13
ITimedExtrapolator.h
MM_SimIdToOfflineId
Definition: MM_SimIdToOfflineId.h:12
iFatras::SimHitCreatorMS::m_stgcOffToSimId
sTgcSimIdToOfflineId * m_stgcOffToSimId
Definition: SimHitCreatorMS.h:124
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
iFatras::SimHitCreatorMS::m_tgcSimHitCollection
TGCSimHitCollection * m_tgcSimHitCollection
Definition: SimHitCreatorMS.h:103
CSCSimHitCollection.h
initialize
void initialize()
Definition: run_EoverP.cxx:894
AtlasHitsVector
Definition: AtlasHitsVector.h:33
IMuonTGMeasTool.h
ISF::ISFParticle
Definition: ISFParticle.h:42
sTGCSimHitCollection.h
iFatras::SimHitCreatorMS::m_measTool
ToolHandle< Muon::IMuonTGMeasTool > m_measTool
Muon TrackingGeometry Measurement Tool.
Definition: SimHitCreatorMS.h:98
iFatras::SimHitCreatorMS::m_mmSimHitCollection
MMSimHitCollection * m_mmSimHitCollection
Definition: SimHitCreatorMS.h:105
iFatras::SimHitCreatorMS::m_stgcCollectionName
std::string m_stgcCollectionName
Definition: SimHitCreatorMS.h:112
iFatras::SimHitCreatorMS::m_mmOffToSimId
MM_SimIdToOfflineId * m_mmOffToSimId
Definition: SimHitCreatorMS.h:123
iFatras::SimHitCreatorMS::m_DeadChannels
std::map< Identifier, std::vector< Identifier > > m_DeadChannels
Definition: SimHitCreatorMS.h:133
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
TgcHitIdHelper
Definition: TgcHitIdHelper.h:13
iFatras
Definition: ActsFatrasSimTool.h:52
iFatras::SimHitCreatorMS::m_rpcHitIdHelper
const RpcHitIdHelper * m_rpcHitIdHelper
Definition: SimHitCreatorMS.h:119
iFatras::SimHitCreatorMS::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Incident Service.
Definition: SimHitCreatorMS.h:92
iFatras::SimHitCreatorMS::m_extrapolator
ToolHandle< Trk::ITimedExtrapolator > m_extrapolator
Tool using the track creator per event.
Definition: SimHitCreatorMS.h:95
iFatras::SimHitCreatorMS::m_mdtHitIdHelper
const MdtHitIdHelper * m_mdtHitIdHelper
Definition: SimHitCreatorMS.h:118
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
iFatras::SimHitCreatorMS::m_randomEngineName
std::string m_randomEngineName
Name of the random number stream.
Definition: SimHitCreatorMS.h:116
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
iFatras::SimHitCreatorMS::m_rpcCollectionName
std::string m_rpcCollectionName
Definition: SimHitCreatorMS.h:108
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
CscHitIdHelper
Definition: CscHitIdHelper.h:13
iFatras::SimHitCreatorMS::m_mdtSimHitCollection
MDTSimHitCollection * m_mdtSimHitCollection
Definition: SimHitCreatorMS.h:101
AthAlgTool.h
iFatras::SimHitCreatorMS
Definition: SimHitCreatorMS.h:66
Trk::ParametersBase
Definition: ParametersBase.h:55
RPCSimHitCollection.h
iFatras::SimHitCreatorMS::m_tgcHitIdHelper
const TgcHitIdHelper * m_tgcHitIdHelper
Definition: SimHitCreatorMS.h:121
IAtRndmGenSvc.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
iFatras::SimHitCreatorMS::~SimHitCreatorMS
virtual ~SimHitCreatorMS()=default
default destructor
MDTSimHitCollection.h
MMSimHitCollection.h
ISimHitCreator.h
TGCSimHitCollection.h
iFatras::SimHitCreatorMS::m_cscCollectionName
std::string m_cscCollectionName
Definition: SimHitCreatorMS.h:110
iFatras::SimHitCreatorMS::m_tgcCollectionName
std::string m_tgcCollectionName
Definition: SimHitCreatorMS.h:109
iFatras::SimHitCreatorMS::m_mmCollectionName
std::string m_mmCollectionName
Definition: SimHitCreatorMS.h:111
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
iFatras::SimHitCreatorMS::m_randomSvc
ServiceHandle< IAtRndmGenSvc > m_randomSvc
Pointer to the random number generator service.
Definition: SimHitCreatorMS.h:115
RpcHitIdHelper
Definition: RpcHitIdHelper.h:13
iFatras::SimHitCreatorMS::m_randomEngine
CLHEP::HepRandomEngine * m_randomEngine
Random Engine.
Definition: SimHitCreatorMS.h:117
iFatras::SimHitCreatorMS::m_createAllMdtHits
bool m_createAllMdtHits
Definition: SimHitCreatorMS.h:131
checker_macros.h
Define macros for attributes used to control the static checker.
IMuonIdHelperSvc.h
iFatras::SimHitCreatorMS::m_mdtCollectionName
std::string m_mdtCollectionName
Definition: SimHitCreatorMS.h:107
iFatras::SimHitCreatorMS::m_mdtSigmaDriftRadius
double m_mdtSigmaDriftRadius
Definition: SimHitCreatorMS.h:128
Trk::Layer
Definition: Layer.h:73
ServiceHandle< IIncidentSvc >