ATLAS Offline Software
GeoMuonHits.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOADAPTORS_GEOMUONHITS_H
6 #define GEOADAPTORS_GEOMUONHITS_H
7 //----------------------------------------------------------//
8 // //
9 // An adaptor for MuonHits. //
10 // //
11 // Joe Boudreau Feb 24. //
12 // //
13 // This adaptor class allows Muon(MDT,RPC,TGC, CSC) Hits to //
14 // behave as if they knew which detector they were in. //
15 // //
16 // imt 2005/11/4 PrepRawData just need access to helpers... //
17 // //
18 //----------------------------------------------------------//
19 #include "CLHEP/Geometry/Point3D.h"
20 #include "CLHEP/Geometry/Transform3D.h"
21 #include "Identifier/Identifier.h"
26 
27 namespace MuonGM {
28  class MuonDetectorManager;
29 }
30 
31 class MDTSimHit;
32 class RPCSimHit;
33 class TGCSimHit;
34 class CSCSimHit;
35 class sTGCSimHit;
36 class MMSimHit;
37 
38 
39 
40 class MdtIdHelper;
41 class RpcIdHelper;
42 class TgcIdHelper;
43 class CscIdHelper;
44 class sTgcIdHelper;
45 class MmIdHelper;
46 
47 namespace MuonGM{
48  class RpcReadoutElement;
49  }
50 class Identifier;
51 
52 
54 {
55 protected:
56  const MuonGM::MuonDetectorManager* mgr() const;
57 
58 private:
59  static const MuonGM::MuonDetectorManager* init();
60 };
61 
62 
63 class GeoMDTHit : public GeoMuonHitBase
64 {
65  public:
66 
67  // Constructor:
68  GeoMDTHit(const MDTSimHit & h);
69 
70  // Get the absolute global position:
72 
73  // Underlying hit.
74  const MDTSimHit &data() const { return *m_hit;}
75 
76  // Is this hit OK?
77  operator bool () const { return true; }
78 
79  private:
80  const MDTSimHit* m_hit;
81 };
82 
83 
84 class GeoRPCHit : public GeoMuonHitBase
85 {
86  public:
87 
88  // Constructor:
89  GeoRPCHit(const RPCSimHit & h);
90 
91  // Get the absolute global position:
93 
94  // Underlying hit.
95  const RPCSimHit &data() const { return *m_hit;}
96 
97  // Is this hit OK?
98  operator bool () const { return true; }
99 
100  private:
101  const RPCSimHit* m_hit;
102 };
103 
104 
105 class GeoTGCHit : public GeoMuonHitBase
106 {
107  public:
108 
109  // Constructor:
111 
112  // Get the absolute global position:
114 
115  // Underlying hit.
116  const TGCSimHit &data() const { return *m_hit;}
117 
118  // Is this hit OK?
119  operator bool () const { return true; }
120 
121 
122 
123  private:
124  const TGCSimHit *m_hit;
125 };
126 
127 
128 class GeoCSCHit : public GeoMuonHitBase
129 {
130  public:
131 
132  // Constructor:
134 
135  // Get the absolute global position:
137 
138  // Underlying hit.
139  const CSCSimHit &data() const { return *m_hit;}
140 
141  // Is this hit OK?
142  operator bool () const { return true; }
143 
144  private:
145  const CSCSimHit *m_hit;
146 };
147 
148 
149 class GeoMMHit : public GeoMuonHitBase
150 {
151  public:
152 
153  // Constructor:
154  GeoMMHit(const MMSimHit & h);
155 
156  // Get the absolute global position:
158 
159  // Get the a 3Dpoint with x and y = TrkLocalPos (tracking definition)
161 
162  // Get the global position from a TrkLocalPos (tracking definition)
164 
165  // Underlying hit.
166  const MMSimHit &data() const { return *m_hit;}
167 
168  // Is this hit OK?
169  operator bool () const { return true; }
170 
171 
172 
173  private:
174  const MMSimHit *m_hit;
175 };
176 
177 
179 {
180  public:
181 
182  // Constructor:
184 
185  // Get the absolute global position:
187 
188  // Underlying hit.
189  const sTGCSimHit &data() const { return *m_hit;}
190 
191  // Is this hit OK?
192  operator bool () const { return true; }
193 
194 
195  private:
197 };
198 
200 
201 #endif
MMSimHit
Definition: MMSimHit.h:15
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
GeoTGCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoCSCHit
Definition: GeoMuonHits.h:129
GeosTGCHit::data
const sTGCSimHit & data() const
Definition: GeoMuonHits.h:189
GeoMDTHit
Definition: GeoMuonHits.h:64
GeoMMHit::getTrkLocalPosition
Amg::Vector3D getTrkLocalPosition() const
GeoCSCHit::data
const CSCSimHit & data() const
Definition: GeoMuonHits.h:139
TgcIdHelper
Definition: TgcIdHelper.h:50
GeoRPCHit::m_hit
const RPCSimHit * m_hit
Definition: GeoMuonHits.h:101
GeoMDTHit::GeoMDTHit
GeoMDTHit(const MDTSimHit &h)
GeoCSCHit::GeoCSCHit
GeoCSCHit(const CSCSimHit &h)
MDTSimHit
Definition: MDTSimHit.h:21
GeoRPCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeosTGCHit
Definition: GeoMuonHits.h:179
GeoRPCHit::data
const RPCSimHit & data() const
Definition: GeoMuonHits.h:95
GeoTGCHit::data
const TGCSimHit & data() const
Definition: GeoMuonHits.h:116
GeoMMHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoMuonHitBase
Definition: GeoMuonHits.h:54
RpcPrepDataContainer.h
GeoMMHit::GeoMMHit
GeoMMHit(const MMSimHit &h)
RpcIdHelper
Definition: RpcIdHelper.h:51
GeosTGCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoMMHit::data
const MMSimHit & data() const
Definition: GeoMuonHits.h:166
GeosTGCHit::GeosTGCHit
GeosTGCHit(const sTGCSimHit &h)
GeoTGCHit::m_hit
const TGCSimHit * m_hit
Definition: GeoMuonHits.h:124
MdtPrepDataContainer.h
CSCSimHit
Definition: CSCSimHit.h:18
GeoTGCHit::GeoTGCHit
GeoTGCHit(const TGCSimHit &h)
GeoMDTHit::data
const MDTSimHit & data() const
Definition: GeoMuonHits.h:74
GeoTGCHit
Definition: GeoMuonHits.h:106
TgcPrepDataContainer.h
MdtIdHelper
Definition: MdtIdHelper.h:61
GeosTGCHit::m_hit
const sTGCSimHit * m_hit
Definition: GeoMuonHits.h:196
GeoMuonHitBase::init
static const MuonGM::MuonDetectorManager * init()
Definition: GeoMuonHits.cxx:11
CscPrepDataContainer.h
GeoCSCHit::m_hit
const CSCSimHit * m_hit
Definition: GeoMuonHits.h:145
sTgcIdHelper
Definition: sTgcIdHelper.h:55
GeoCSCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
GeoMMHit::m_hit
const MMSimHit * m_hit
Definition: GeoMuonHits.h:174
TGCSimHit
Definition: TGCSimHit.h:19
sTGCSimHit
Definition: sTGCSimHit.h:15
GeoMuonHits.icc
GeoMMHit::getTrkGlobalPosition
Amg::Vector3D getTrkGlobalPosition() const
h
MmIdHelper
Definition: MmIdHelper.h:54
CscIdHelper
Definition: CscIdHelper.h:52
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:50
GeoMDTHit::m_hit
const MDTSimHit * m_hit
Definition: GeoMuonHits.h:80
GeoMuonHitBase::mgr
const MuonGM::MuonDetectorManager * mgr() const
Definition: GeoMuonHits.cxx:22
RPCSimHit
Definition: RPCSimHit.h:19
GeoMDTHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoRPCHit
Definition: GeoMuonHits.h:85
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
GeoMMHit
Definition: GeoMuonHits.h:150
GeoRPCHit::GeoRPCHit
GeoRPCHit(const RPCSimHit &h)
Identifier
Definition: IdentifierFieldParser.cxx:14