aboutsummaryrefslogtreecommitdiff
path: root/src/sno_charge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sno_charge.c')
-rw-r--r--src/sno_charge.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/sno_charge.c b/src/sno_charge.c
index fe1e553..31de608 100644
--- a/src/sno_charge.c
+++ b/src/sno_charge.c
@@ -101,7 +101,7 @@ double pq(double q, int n)
return gsl_spline_eval(splines[n-1], q, acc);
}
-double get_pmiss(int n)
+double get_log_pmiss(int n)
{
if (!initialized) {
fprintf(stderr, "charge interpolation hasn't been initialized!\n");
@@ -109,10 +109,9 @@ double get_pmiss(int n)
}
if (n == 0) {
- return 1.0;
- } else if (n > MAX_PE) {
- /* Assume the distribution is gaussian by the central limit theorem. */
return 0.0;
+ } else if (n > MAX_PE) {
+ return -INFINITY;
}
return pmiss[n-1];
@@ -223,7 +222,7 @@ void init_charge(void)
for (i = 1; i <= MAX_PE; i++) {
params[0] = i;
gsl_integration_cquad(&F, 0, MEAN_THRESH/MEAN_HIPT, 0, 1e-9, w, &result, &error, &nevals);
- pmiss[i-1] = result;
+ pmiss[i-1] = log(result);
}
F.function = &gsl_smear;