aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-09-06 10:13:52 -0500
committertlatorre <tlatorre@uchicago.edu>2018-09-06 10:13:52 -0500
commitae90fe0e0c47e39a803c453e565e0eebea2ecd65 (patch)
treeb04af76a4b273047da99a9ca595fc018e2caa8ff
parent19fc5bf79f207d2c1d7c7e9a540802249de8163e (diff)
downloadsddm-ae90fe0e0c47e39a803c453e565e0eebea2ecd65.tar.gz
sddm-ae90fe0e0c47e39a803c453e565e0eebea2ecd65.tar.bz2
sddm-ae90fe0e0c47e39a803c453e565e0eebea2ecd65.zip
introduce a minimum value for the scattering RMS theta0
-rw-r--r--src/path.c2
-rw-r--r--src/path.h10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/path.c b/src/path.c
index 80bba50..5a87cf6 100644
--- a/src/path.c
+++ b/src/path.c
@@ -175,7 +175,7 @@ void path_eval(path *p, double s, double *pos, double *dir, double *T, double *t
dir[2] = interp1d(s,p->s,p->dz,N);
/* FIXME: This should be the *residual* scattering RMS. */
- *theta0 = p->theta0*sqrt(s);
+ *theta0 = fmax(MIN_THETA0, p->theta0*sqrt(s));
}
void path_free(path *p)
diff --git a/src/path.h b/src/path.h
index 0c97f18..1e40061 100644
--- a/src/path.h
+++ b/src/path.h
@@ -3,6 +3,16 @@
#include <gsl/gsl_spline.h>
+/* Minimum value for the scattering RMS `theta0`.
+ *
+ * This is a bit of a hack to correct for the fact that we assume the
+ * probability of a photon hitting a PMT is uniform across the face of a PMT.
+ * By introducing a minimum value for the scattering RMS we broaden the angular
+ * distribution such that it effectively averages across the face of a PMT.
+ *
+ * FIXME: Should do some tests to figure out what is the best value. */
+#define MIN_THETA0 0.01
+
typedef double getKineticEnergyFunc(double x, double T0);
typedef struct path {