ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
GeoModel
GeoAdaptors
GeoAdaptors
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"
22
#include "
MuonPrepRawData/MdtPrepDataContainer.h
"
23
#include "
MuonPrepRawData/RpcPrepDataContainer.h
"
24
#include "
MuonPrepRawData/TgcPrepDataContainer.h
"
25
#include "
MuonPrepRawData/CscPrepDataContainer.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
53
class
GeoMuonHitBase
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:
71
Amg::Vector3D
getGlobalPosition
()
const
;
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:
92
Amg::Vector3D
getGlobalPosition
()
const
;
93
94
// Underlying hit.
95
const
RPCSimHit
&
data
()
const
{
return
*
m_hit
;}
96
97
// Is this hit OK?
98
operator
bool ()
const
{
return
m_goodHit
; }
99
100
private
:
101
const
RPCSimHit
*
m_hit
{
nullptr
};
102
bool
m_goodHit
{
true
};
103
Identifier
m_id
{};
104
};
105
106
107
class
GeoTGCHit
:
public
GeoMuonHitBase
108
{
109
public
:
110
111
// Constructor:
112
GeoTGCHit
(
const
TGCSimHit
&
h
);
113
114
// Get the absolute global position:
115
Amg::Vector3D
getGlobalPosition
()
const
;
116
117
// Underlying hit.
118
const
TGCSimHit
&
data
()
const
{
return
*
m_hit
;}
119
120
// Is this hit OK?
121
operator
bool ()
const
{
return
true
; }
122
123
124
125
private
:
126
const
TGCSimHit
*
m_hit
;
127
};
128
129
130
class
GeoCSCHit
:
public
GeoMuonHitBase
131
{
132
public
:
133
134
// Constructor:
135
GeoCSCHit
(
const
CSCSimHit
&
h
);
136
137
// Get the absolute global position:
138
Amg::Vector3D
getGlobalPosition
()
const
;
139
140
// Underlying hit.
141
const
CSCSimHit
&
data
()
const
{
return
*
m_hit
;}
142
143
// Is this hit OK?
144
operator
bool ()
const
{
return
true
; }
145
146
private
:
147
const
CSCSimHit
*
m_hit
;
148
};
149
150
151
class
GeoMMHit
:
public
GeoMuonHitBase
152
{
153
public
:
154
155
// Constructor:
156
GeoMMHit
(
const
MMSimHit
&
h
);
157
158
// Get the absolute global position:
159
Amg::Vector3D
getGlobalPosition
()
const
;
160
161
// Get the a 3Dpoint with x and y = TrkLocalPos (tracking definition)
162
Amg::Vector3D
getTrkLocalPosition
()
const
;
163
164
// Get the global position from a TrkLocalPos (tracking definition)
165
Amg::Vector3D
getTrkGlobalPosition
()
const
;
166
167
// Underlying hit.
168
const
MMSimHit
&
data
()
const
{
return
*
m_hit
;}
169
170
// Is this hit OK?
171
operator
bool ()
const
{
return
true
; }
172
173
174
175
private
:
176
const
MMSimHit
*
m_hit
;
177
};
178
179
180
class
GeosTGCHit
:
public
GeoMuonHitBase
181
{
182
public
:
183
184
// Constructor:
185
GeosTGCHit
(
const
sTGCSimHit
&
h
);
186
187
// Get the absolute global position:
188
Amg::Vector3D
getGlobalPosition
()
const
;
189
190
// Underlying hit.
191
const
sTGCSimHit
&
data
()
const
{
return
*
m_hit
;}
192
193
// Is this hit OK?
194
operator
bool ()
const
{
return
true
; }
195
196
197
private
:
198
const
sTGCSimHit
*
m_hit
;
199
};
200
201
#include "
GeoAdaptors/GeoMuonHits.icc
"
202
203
#endif
CscPrepDataContainer.h
GeoMuonHits.icc
MdtPrepDataContainer.h
RpcPrepDataContainer.h
TgcPrepDataContainer.h
h
Header file for AthHistogramAlgorithm.
CSCSimHit
Definition
CSCSimHit.h:18
CscIdHelper
Definition
CscIdHelper.h:52
GeoCSCHit::GeoCSCHit
GeoCSCHit(const CSCSimHit &h)
GeoCSCHit::data
const CSCSimHit & data() const
Definition
GeoMuonHits.h:141
GeoCSCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoCSCHit::m_hit
const CSCSimHit * m_hit
Definition
GeoMuonHits.h:147
GeoMDTHit::m_hit
const MDTSimHit * m_hit
Definition
GeoMuonHits.h:80
GeoMDTHit::data
const MDTSimHit & data() const
Definition
GeoMuonHits.h:74
GeoMDTHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoMDTHit::GeoMDTHit
GeoMDTHit(const MDTSimHit &h)
GeoMMHit::GeoMMHit
GeoMMHit(const MMSimHit &h)
GeoMMHit::data
const MMSimHit & data() const
Definition
GeoMuonHits.h:168
GeoMMHit::getTrkLocalPosition
Amg::Vector3D getTrkLocalPosition() const
GeoMMHit::m_hit
const MMSimHit * m_hit
Definition
GeoMuonHits.h:176
GeoMMHit::getTrkGlobalPosition
Amg::Vector3D getTrkGlobalPosition() const
GeoMMHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoMuonHitBase
Definition
GeoMuonHits.h:54
GeoMuonHitBase::mgr
const MuonGM::MuonDetectorManager * mgr() const
Definition
GeoMuonHits.cxx:22
GeoMuonHitBase::init
static const MuonGM::MuonDetectorManager * init()
Definition
GeoMuonHits.cxx:11
GeoRPCHit::m_id
Identifier m_id
Definition
GeoMuonHits.h:103
GeoRPCHit::data
const RPCSimHit & data() const
Definition
GeoMuonHits.h:95
GeoRPCHit::m_hit
const RPCSimHit * m_hit
Definition
GeoMuonHits.h:101
GeoRPCHit::m_goodHit
bool m_goodHit
Definition
GeoMuonHits.h:102
GeoRPCHit::GeoRPCHit
GeoRPCHit(const RPCSimHit &h)
GeoRPCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoTGCHit::GeoTGCHit
GeoTGCHit(const TGCSimHit &h)
GeoTGCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeoTGCHit::m_hit
const TGCSimHit * m_hit
Definition
GeoMuonHits.h:126
GeoTGCHit::data
const TGCSimHit & data() const
Definition
GeoMuonHits.h:118
GeosTGCHit::getGlobalPosition
Amg::Vector3D getGlobalPosition() const
GeosTGCHit::m_hit
const sTGCSimHit * m_hit
Definition
GeoMuonHits.h:198
GeosTGCHit::data
const sTGCSimHit & data() const
Definition
GeoMuonHits.h:191
GeosTGCHit::GeosTGCHit
GeosTGCHit(const sTGCSimHit &h)
MDTSimHit
Definition
MDTSimHit.h:21
MMSimHit
Definition
MMSimHit.h:15
MdtIdHelper
Definition
MdtIdHelper.h:61
MmIdHelper
Definition
MmIdHelper.h:54
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition
MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:51
RPCSimHit
Definition
RPCSimHit.h:19
RpcIdHelper
Definition
RpcIdHelper.h:51
TGCSimHit
Definition
TGCSimHit.h:19
TgcIdHelper
Definition
TgcIdHelper.h:50
sTGCSimHit
Definition
sTGCSimHit.h:15
sTgcIdHelper
Definition
sTgcIdHelper.h:55
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Identifier
Definition
IdentifierFieldParser.cxx:14
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
Generated on
for ATLAS Offline Software by
1.17.0