17#ifndef INCLUDE_RECONSTRUCTIONDATAFORMATS_TRACKUTILS_H_
18#define INCLUDE_RECONSTRUCTIONDATAFORMATS_TRACKUTILS_H_
23#ifndef GPUCA_GPUCODE_DEVICE
35template <
typename value_T =
float>
36GPUd() value_T BetheBlochSolid(value_T
bg, value_T
rho = 2.33, value_T
kp1 = 0.20, value_T
kp2 = 3.00, value_T
meanI = 173e-9, value_T
meanZA = 0.49848);
38template <typename value_T =
float>
39GPUd() value_T BetheBlochSolidOpt(value_T
bg);
41template <typename value_T =
float>
45template <typename value_T>
46GPUd()
void g3helx3(value_T qfield, value_T
step, gpu::gpustd::
array<value_T, 7>&
vect)
65#ifndef GPUCA_GPUCODE_DEVICE
66 static_assert(std::is_floating_point_v<value_T>);
78 if (gpu::CAMath::Abs(
tet) > 0.03f) {
82 value_T t = gpu::CAMath::Sin(0.5f *
tet);
106template <
typename value_T>
123#ifndef GPUCA_GPUCODE_DEVICE
124 static_assert(std::is_floating_point_v<value_T>);
127 constexpr value_T
mK = 0.307075e-3;
128 constexpr value_T
me = 0.511e-3;
136 const value_T
x = gpu::CAMath::Log(
bg);
149template <
typename value_T>
150GPUd() value_T BetheBlochSolidOpt(value_T
bg)
169 constexpr value_T
mK = 0.307075e-3;
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;
174 constexpr value_T log2muTomeanI = 8.6839805;
180 const value_T
x = gpu::CAMath::Log(
bg);
183 }
else if (
x >
kp1) {
192template <
typename value_T>
193GPUdi() value_T BetheBlochSolidDerivative(value_T
dedx, value_T
bg)
206 constexpr value_T
mK = 0.307075e-3;
207 constexpr value_T
meanZA = 0.49848;
General auxilliary methods.
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t1
GPUdi() TrackParametrization< value_T >
value_T gpu::gpustd::array< value_T, 7 > & vect
constexpr value_T kOvSqSix
GPUd() value_T BetheBlochSolid(value_T bg
value_T value_T value_T value_T meanI
value_T value_T value_T value_T value_T meanZA
value_T value_T value_T kp2
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...