aboutsummaryrefslogtreecommitdiff
path: root/src/pdg.c
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-08-14 10:08:27 -0500
committertlatorre <tlatorre@uchicago.edu>2018-08-14 10:08:27 -0500
commit24c8bcfe7f76b20124e2862ea050f815c0f768e7 (patch)
treee5bdbd638a2c7f38f1c094cc9e95cbdfe05b9481 /src/pdg.c
parent0b7f199c0d93074484ea580504485a32dc29f5e2 (diff)
downloadsddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.gz
sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.bz2
sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.zip
move everything to src directory
Diffstat (limited to 'src/pdg.c')
-rw-r--r--src/pdg.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/pdg.c b/src/pdg.c
new file mode 100644
index 0000000..d6a2161
--- /dev/null
+++ b/src/pdg.c
@@ -0,0 +1,23 @@
+#include "pdg.h"
+#include "math.h"
+
+double get_scattering_rms(double x, double p, double beta, double z, double rho)
+{
+ /* Returns the RMS width of the scattering angle for a particle deflected
+ * by many small-angle scatters after a distance `x`. `p` is the momentum
+ * of the particle in MeV, `beta` is the speed of the particle in units of
+ * the speed of light, `z` is the charge of the particle in units of the
+ * electron charge, and `rho` is the density of the water in units of
+ * g/cm^3.
+ *
+ * `x` should be in cm.
+ *
+ * Note: I'm not sure if this will work for particles other than electrons
+ * since the radiation length is only discussed in terms of an
+ * electromagnetic shower induced by electrons (see Section 33.4.2).
+ *
+ * See Equation 33.15 in
+ * http://pdg.lbl.gov/2018/reviews/rpp2018-rev-passage-particles-matter.pdf. */
+ if (x == 0.0) return 0.0;
+ return (13.6/(beta*p))*z*sqrt(x*rho/RADIATION_LENGTH)*(1+0.038*log((x*z*z)/(RADIATION_LENGTH*beta*beta/rho)));
+}