aboutsummaryrefslogtreecommitdiff
path: root/src/path.c
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-09-17 11:45:21 -0500
committertlatorre <tlatorre@uchicago.edu>2018-09-17 11:45:21 -0500
commitb35460c7d2e634aeb7b7db16928d61ff0cc5f0d1 (patch)
tree48d9d18d4283d5dec3b1dcc7602c7d46e5960b60 /src/path.c
parent49e982b4bc495ad9947685a2844ccd03b0a7bc2f (diff)
downloadsddm-b35460c7d2e634aeb7b7db16928d61ff0cc5f0d1.tar.gz
sddm-b35460c7d2e634aeb7b7db16928d61ff0cc5f0d1.tar.bz2
sddm-b35460c7d2e634aeb7b7db16928d61ff0cc5f0d1.zip
update muon kinetic energy calculation
This commit updates the calculation of the muon kinetic energy as a function of distance along the track. Previously I was using an approximation from the PDG, but it doesn't seem to be very accurate and won't generalize to the case of electrons. The kinetic energy is now calculated using the tabulated values of dE/dx as a function of energy.
Diffstat (limited to 'src/path.c')
-rw-r--r--src/path.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/path.c b/src/path.c
index 478a609..2083dc1 100644
--- a/src/path.c
+++ b/src/path.c
@@ -31,7 +31,7 @@ double path_get_coefficient(unsigned int k, double *s, double *x, double theta0,
return sum*pow(k-0.5,2)*pow(M_PI,2)/pow(theta0*range,2);
}
-path *path_init(double *pos, double *dir, double T0, double range, double theta0, getKineticEnergyFunc *fun, double *z1, double *z2, size_t n, double m)
+path *path_init(double *pos, double *dir, double T0, double range, double theta0, getKineticEnergyFunc *fun, void *params, double *z1, double *z2, size_t n, double m)
{
size_t i, j;
double E, mom, beta, theta, phi;
@@ -68,7 +68,7 @@ path *path_init(double *pos, double *dir, double T0, double range, double theta0
theta1[i] += z1[j]*foo(s[i],range,theta0,j+1);
theta2[i] += z2[j]*foo(s[i],range,theta0,j+1);
}
- T[i] = fun(s[i],T0);
+ T[i] = fun(s[i],params);
if (i > 0) {
theta = sqrt(theta1[i]*theta1[i] + theta2[i]*theta2[i]);
phi = atan2(theta2[i],theta1[i]);