diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-08-27 10:59:31 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-08-27 10:59:31 -0500 |
commit | a84cfbe584580f08ca0a88f176cb49cdf801665e (patch) | |
tree | 9e51ec936b02e6bcdbe48fce43c1a70fcaf1b63e /src/muon.c | |
parent | 779266ec72a5c76ee52043ab3ae17479ba6a9788 (diff) | |
download | sddm-a84cfbe584580f08ca0a88f176cb49cdf801665e.tar.gz sddm-a84cfbe584580f08ca0a88f176cb49cdf801665e.tar.bz2 sddm-a84cfbe584580f08ca0a88f176cb49cdf801665e.zip |
fix how multiple Coulomb scattering is treated
Previously I had been assuming that a particle undergoing many small angle
Coulomb scatters had a track direction whose polar angle was a Gaussian.
However, this was just due to a misunderstanding of the PDG section "Multiple
scattering through small angles" in the "Passage of particles through matter"
article. In fact, what is described by a Gaussian is the polar angle projected
onto a plane. Therefore the distribution of the polar angle is actually:
(1/(sqrt(2*pi)*theta0**2))*theta*exp(-theta**2/(2*theta0))
This commit updates the code in scattering.c to correctly calculate the
probability that a photon is emitted at a particular angle. I also updated
test-likelihood.c to simulate a track correctly.
Diffstat (limited to 'src/muon.c')
-rw-r--r-- | src/muon.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -262,5 +262,5 @@ double get_expected_charge(double x, double T, double T0, double *pos, double *d theta0 = get_scattering_rms(x,p0,beta0,z,rho); /* FIXME: add angular response and scattering/absorption. */ - return 2*omega*2*M_PI*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0)/(sqrt(2*M_PI)*theta0); + return omega*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0); } |