ATLAS Offline Software
Loading...
Searching...
No Matches
SiHit.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8// Default consdtructor needed by athenaroot
9//
11 m_stX(0.),
12 m_stY(0.),
13 m_stZ(0.),
14 m_enX(0.),
15 m_enY(0.),
16 m_enZ(0.),
17 m_energyLoss(0.),
18 m_meanTime(0.),
19 m_partLink(),
20 m_ID(0xffff)
21{
22
23}
24
25// Constructor
26SiHit::SiHit(const HepGeom::Point3D<double> &localStartPosition,
27 const HepGeom::Point3D<double> &localEndPosition,
28 const double energyLoss,
29 const double meanTime,
30 const int truthBarcode,
31 const unsigned int id) :
32 // m_localStartPosition(localStartPosition),
33 // m_localEndPosition(localEndPosition),
34 m_stX( (float) localStartPosition.x() ),
35 m_stY( (float) localStartPosition.y() ),
36 m_stZ( (float) localStartPosition.z() ),
37 m_enX( (float) localEndPosition.x() ),
38 m_enY( (float) localEndPosition.y() ),
39 m_enZ( (float) localEndPosition.z() ),
42 m_partLink(truthBarcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE), //FIXME barcode-based
43 m_ID(id)
44{
45}
46
47// Constructor
48SiHit::SiHit(const HepGeom::Point3D<double> &localStartPosition,
49 const HepGeom::Point3D<double> &localEndPosition,
50 const double energyLoss,
51 const double meanTime,
52 const int truthBarcode,
53 const int Part, const int BrlECap, const int LayerDisk,
54 const int etaM, const int phiM, const int side) :
55 // m_localStartPosition(localStartPosition),
56 // m_localEndPosition(localEndPosition),
57 m_stX( (float) localStartPosition.x() ),
58 m_stY( (float) localStartPosition.y() ),
59 m_stZ( (float) localStartPosition.z() ),
60 m_enX( (float) localEndPosition.x() ),
61 m_enY( (float) localEndPosition.y() ),
62 m_enZ( (float) localEndPosition.z() ),
65 m_partLink(truthBarcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE), //FIXME barcode-based
66 m_ID(0)
67{
68 // Compress the location info into the integer:
69 m_ID = SiHitIdHelper::GetHelper()->buildHitId(Part,BrlECap,LayerDisk,etaM,phiM,side);
70}
71
72// Constructor
73SiHit::SiHit(const HepGeom::Point3D<double> &localStartPosition,
74 const HepGeom::Point3D<double> &localEndPosition,
75 const double energyLoss,
76 const double meanTime,
77 const HepMcParticleLink &track,
78 const unsigned int id) :
79 // m_localStartPosition(localStartPosition),
80 // m_localEndPosition(localEndPosition),
81 m_stX( (float) localStartPosition.x() ),
82 m_stY( (float) localStartPosition.y() ),
83 m_stZ( (float) localStartPosition.z() ),
84 m_enX( (float) localEndPosition.x() ),
85 m_enY( (float) localEndPosition.y() ),
86 m_enZ( (float) localEndPosition.z() ),
89 m_partLink(track),
90 m_ID(id)
91{
92}
93
94// Constructor
95SiHit::SiHit(const HepGeom::Point3D<double> &localStartPosition,
96 const HepGeom::Point3D<double> &localEndPosition,
97 const double energyLoss,
98 const double meanTime,
99 const HepMcParticleLink &track,
100 const int Part, const int BrlECap, const int LayerDisk,
101 const int etaM, const int phiM, const int side) :
102 // m_localStartPosition(localStartPosition),
103 // m_localEndPosition(localEndPosition),
104 m_stX( (float) localStartPosition.x() ),
105 m_stY( (float) localStartPosition.y() ),
106 m_stZ( (float) localStartPosition.z() ),
107 m_enX( (float) localEndPosition.x() ),
108 m_enY( (float) localEndPosition.y() ),
109 m_enZ( (float) localEndPosition.z() ),
112 m_partLink(track),
113 m_ID(0)
114{
115 // Compress the location info into the integer:
116 m_ID = SiHitIdHelper::GetHelper()->buildHitId(Part,BrlECap,LayerDisk,etaM,phiM,side);
117}
118
119void SiHit::ScaleLength(double sfactor) {
120 // m_localStartPosition *= sfactor;
121 // m_localEndPosition *= sfactor;
122 m_stX *= (float) sfactor;
123 m_stY *= (float) sfactor;
124 m_stZ *= (float) sfactor;
125 m_enX *= (float) sfactor;
126 m_enY *= (float) sfactor;
127 m_enZ *= (float) sfactor;
128}
129
130bool SiHit::isPixel() const {
132}
133
134bool SiHit::isSCT() const {
136}
137
138bool SiHit::isHGTD() const {
140}
141
142bool SiHit::isPLR() const {
144}
145
146HepGeom::Point3D<double> SiHit::localStartPosition() const
147{
148 return { static_cast<double>(m_stX),
149 static_cast<double>(m_stY),
150 static_cast<double>(m_stZ) };
151}
152
153HepGeom::Point3D<double> SiHit::localEndPosition() const
154{
155 return { static_cast<double>(m_enX),
156 static_cast<double>(m_enY),
157 static_cast<double>(m_enZ) };
158}
159
163
167
171
175
176int SiHit::getSide() const {
178}
179
180void SiHit::print() const {
181 if (isPixel()) {
182 if (isPLR()) {
183 std::cout << "*** PLR Hit " << std::endl;
184 } else {
185 std::cout << "*** Pixel Hit " << std::endl;
186 }
187 } else if (isSCT()) {
188 std::cout << "*** SCT Hit " << std::endl;
189 }
190 else {
191 std::cout << "*** HGTD Hit " << std::endl;
192 }
193 std::cout << " Barrel/ EndCap Number " << getBarrelEndcap() << std::endl;
194 std::cout << " Layer/Disk Number " << getLayerDisk() << std::endl;
195 std::cout << " Eta Number " << getEtaModule() << std::endl;
196 std::cout << " Phi Number " << getPhiModule() << std::endl;
197 std::cout << " Side Number " << getSide() << std::endl;
198}
199
200
201
203{
204 return m_partLink.barcode();
205}
206
207
208int SiHit::truthID() const
209{
210 return m_partLink.id();
211}
212
#define y
#define x
#define z
int getBarrelEndcap(const int &hid) const
int buildHitId(const int, const int, const int, const int, const int, const int) const
bool isPixel(const int &hid) const
int getEtaModule(const int &hid) const
bool isPLR(const int &hid) const
int getLayerDisk(const int &hid) const
int getPhiModule(const int &hid) const
bool isHGTD(const int &hid) const
bool isSCT(const int &hid) const
int getSide(const int &hid) const
static const SiHitIdHelper * GetHelper()
float m_enZ
Definition SiHit.h:155
float m_meanTime
Definition SiHit.h:157
float m_enY
Definition SiHit.h:155
void print() const
Definition SiHit.cxx:180
double energyLoss() const
Definition SiHit.h:175
SiHit()
Definition SiHit.cxx:10
int truthID() const
Definition SiHit.cxx:208
HepMcParticleLink m_partLink
Definition SiHit.h:158
void ScaleLength(double)
Definition SiHit.cxx:119
float m_energyLoss
Definition SiHit.h:156
float m_stY
Definition SiHit.h:154
HepGeom::Point3D< double > localStartPosition() const
Definition SiHit.cxx:146
bool isPixel() const
Definition SiHit.cxx:130
int getPhiModule() const
Definition SiHit.cxx:172
double meanTime() const
Definition SiHit.h:180
int truthBarcode() const
Definition SiHit.cxx:202
bool isHGTD() const
Definition SiHit.cxx:138
int getBarrelEndcap() const
Definition SiHit.cxx:160
float m_stX
Definition SiHit.h:154
int getSide() const
Definition SiHit.cxx:176
float m_enX
Definition SiHit.h:155
int getEtaModule() const
Definition SiHit.cxx:168
bool isSCT() const
Definition SiHit.cxx:134
float m_stZ
Definition SiHit.h:154
bool isPLR() const
Definition SiHit.cxx:142
unsigned int m_ID
Definition SiHit.h:159
int getLayerDisk() const
Definition SiHit.cxx:164
HepGeom::Point3D< double > localEndPosition() const
Definition SiHit.cxx:153