Skip to content

Commit 0f02172

Browse files
f3schdavidrohr
authored andcommitted
Refactor TrackUtils.h for value_T consistency
1 parent 3224e15 commit 0f02172

1 file changed

Lines changed: 35 additions & 35 deletions

File tree

  • DataFormats/Reconstruction/include/ReconstructionDataFormats

DataFormats/Reconstruction/include/ReconstructionDataFormats/TrackUtils.h

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -66,26 +66,26 @@ GPUd() void g3helx3(value_T qfield, value_T step, std::array<value_T, 7>& vect)
6666
static_assert(std::is_floating_point_v<value_T>);
6767
#endif
6868

69-
const int ix = 0, iy = 1, iz = 2, ipx = 3, ipy = 4, ipz = 5, ipp = 6;
70-
constexpr value_T kOvSqSix = 0.408248f; // std::sqrt(1./6.);
69+
constexpr int ix = 0, iy = 1, iz = 2, ipx = 3, ipy = 4, ipz = 5, ipp = 6;
70+
constexpr value_T kOvSqSix = value_T(0.408248); // std::sqrt(1./6.);
7171

7272
value_T cosx = vect[ipx], cosy = vect[ipy], cosz = vect[ipz];
7373

7474
value_T rho = qfield * constants::math::B2C / vect[ipp];
7575
value_T tet = rho * step;
7676

7777
value_T tsint, sintt, sint, cos1t;
78-
if (gpu::CAMath::Abs(tet) > 0.03f) {
78+
if (gpu::CAMath::Abs(tet) > value_T(0.03)) {
7979
sint = gpu::CAMath::Sin(tet);
8080
sintt = sint / tet;
8181
tsint = (tet - sint) / tet;
82-
value_T t = gpu::CAMath::Sin(0.5f * tet);
83-
cos1t = 2.f * t * t / tet;
82+
value_T t = gpu::CAMath::Sin(value_T(0.5) * tet);
83+
cos1t = value_T(2) * t * t / tet;
8484
} else {
85-
tsint = tet * tet / 6.f;
86-
sintt = (1.f - tet * kOvSqSix) * (1.f + tet * kOvSqSix); // 1.- tsint;
85+
tsint = tet * tet / value_T(6);
86+
sintt = (value_T(1) - tet * kOvSqSix) * (value_T(1) + tet * kOvSqSix); // 1.- tsint;
8787
sint = tet * sintt;
88-
cos1t = 0.5f * tet;
88+
cos1t = value_T(0.5) * tet;
8989
}
9090

9191
value_T f1 = step * sintt;
@@ -124,25 +124,25 @@ GPUd() value_T BetheBlochSolid(value_T bg, value_T rho, value_T kp1, value_T kp2
124124
static_assert(std::is_floating_point_v<value_T>);
125125
#endif
126126

127-
constexpr value_T mK = 0.307075e-3; // [GeV*cm^2/g]
128-
constexpr value_T me = 0.511e-3; // [GeV/c^2]
129-
kp1 *= 2.303f;
130-
kp2 *= 2.303f;
131-
value_T bg2 = bg * bg, beta2 = bg2 / (1.f + bg2);
132-
value_T maxT = 2.f * me * bg2; // neglecting the electron mass
127+
constexpr value_T mK = value_T(0.307075e-3); // [GeV*cm^2/g]
128+
constexpr value_T me = value_T(0.511e-3); // [GeV/c^2]
129+
kp1 *= value_T(2.303);
130+
kp2 *= value_T(2.303);
131+
value_T bg2 = bg * bg, beta2 = bg2 / (value_T(1) + bg2);
132+
value_T maxT = value_T(2) * me * bg2; // neglecting the electron mass
133133

134134
//*** Density effect
135-
value_T d2 = 0.;
135+
value_T d2 = value_T(0);
136136
const value_T x = gpu::CAMath::Log(bg);
137-
const value_T lhwI = gpu::CAMath::Log(28.816f * 1e-9f * gpu::CAMath::Sqrt(rho * meanZA) / meanI);
137+
const value_T lhwI = gpu::CAMath::Log(value_T(28.816e-9) * gpu::CAMath::Sqrt(rho * meanZA) / meanI);
138138
if (x > kp2) {
139-
d2 = lhwI + x - 0.5f;
139+
d2 = lhwI + x - value_T(0.5);
140140
} else if (x > kp1) {
141141
double r = (kp2 - x) / (kp2 - kp1);
142-
d2 = lhwI + x - 0.5f + (0.5f - lhwI - kp1) * r * r * r;
142+
d2 = lhwI + x - value_T(0.5) + (value_T(0.5) - lhwI - kp1) * r * r * r;
143143
}
144-
auto dedx = mK * meanZA / beta2 * (0.5f * gpu::CAMath::Log(2.f * me * bg2 * maxT / (meanI * meanI)) - beta2 - d2);
145-
return dedx > 0.f ? dedx : 0.f;
144+
auto dedx = mK * meanZA / beta2 * (value_T(0.5) * gpu::CAMath::Log(value_T(2) * me * bg2 * maxT / (meanI * meanI)) - beta2 - d2);
145+
return dedx > value_T(0) ? dedx : value_T(0);
146146
}
147147

148148
//____________________________________________________
@@ -166,26 +166,26 @@ GPUd() value_T BetheBlochSolidOpt(value_T bg)
166166
// constexpr value_T meanI = 173e-9;
167167
// constexpr value_T me = 0.511e-3; // [GeV/c^2]
168168

169-
constexpr value_T mK = 0.307075e-3; // [GeV*cm^2/g]
170-
constexpr value_T kp1 = 0.20 * 2.303;
171-
constexpr value_T kp2 = 3.00 * 2.303;
172-
constexpr value_T meanZA = 0.49848;
173-
constexpr value_T lhwI = -1.7175226; // gpu::CAMath::Log(28.816 * 1e-9 * gpu::CAMath::Sqrt(rho * meanZA) / meanI);
174-
constexpr value_T log2muTomeanI = 8.6839805; // gpu::CAMath::Log( 2. * me / meanI);
169+
constexpr value_T mK = value_T(0.307075e-3); // [GeV*cm^2/g]
170+
constexpr value_T kp1 = value_T(0.20 * 2.303);
171+
constexpr value_T kp2 = value_T(3.00 * 2.303);
172+
constexpr value_T meanZA = value_T(0.49848);
173+
constexpr value_T lhwI = value_T(-1.7175226); // gpu::CAMath::Log(28.816 * 1e-9 * gpu::CAMath::Sqrt(rho * meanZA) / meanI);
174+
constexpr value_T log2muTomeanI = value_T(8.6839805); // gpu::CAMath::Log( 2. * me / meanI);
175175

176-
value_T bg2 = bg * bg, beta2 = bg2 / (1.f + bg2);
176+
value_T bg2 = bg * bg, beta2 = bg2 / (value_T(1) + bg2);
177177

178178
//*** Density effect
179-
value_T d2 = 0.;
179+
value_T d2 = value_T(0);
180180
const value_T x = gpu::CAMath::Log(bg);
181181
if (x > kp2) {
182-
d2 = lhwI - 0.5f + x;
182+
d2 = lhwI - value_T(0.5) + x;
183183
} else if (x > kp1) {
184184
value_T r = (kp2 - x) / (kp2 - kp1);
185-
d2 = lhwI - 0.5 + x + (0.5 - lhwI - kp1) * r * r * r;
185+
d2 = lhwI - value_T(0.5) + x + (value_T(0.5) - lhwI - kp1) * r * r * r;
186186
}
187187
auto dedx = mK * meanZA / beta2 * (log2muTomeanI + x + x - beta2 - d2);
188-
return dedx > 0.f ? dedx : 0.f;
188+
return dedx > value_T(0) ? dedx : value_T(0);
189189
}
190190

191191
//____________________________________________________
@@ -203,12 +203,12 @@ GPUdi() value_T BetheBlochSolidDerivative(value_T dedx, value_T bg)
203203
// dedx - precalculate dedx for bg
204204
// bg - beta*gamma
205205
//
206-
constexpr value_T mK = 0.307075e-3; // [GeV*cm^2/g]
207-
constexpr value_T meanZA = 0.49848;
206+
constexpr value_T mK = value_T(0.307075e-3); // [GeV*cm^2/g]
207+
constexpr value_T meanZA = value_T(0.49848);
208208
auto bg2 = bg * bg;
209-
auto t1 = 1.f + bg2;
209+
auto t1 = value_T(1) + bg2;
210210
// auto derH = (mK * meanZA * (t1+bg2) - dedx*bg2)/(bg*t1);
211-
auto derH = (mK * meanZA * (t1 + 1.f / bg2) - dedx) / (bg * t1);
211+
auto derH = (mK * meanZA * (t1 + value_T(1) / bg2) - dedx) / (bg * t1);
212212
return derH + derH;
213213
}
214214

0 commit comments

Comments
 (0)