aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-09-17 09:20:22 -0500
committertlatorre <tlatorre@uchicago.edu>2018-09-17 09:20:22 -0500
commit49e982b4bc495ad9947685a2844ccd03b0a7bc2f (patch)
tree1b24cb4d0c36ae41cd5cc9e9f88135f023748383 /src
parent3759539f9f9c9f15114e485560e1d8d05f6bf4c3 (diff)
downloadsddm-49e982b4bc495ad9947685a2844ccd03b0a7bc2f.tar.gz
sddm-49e982b4bc495ad9947685a2844ccd03b0a7bc2f.tar.bz2
sddm-49e982b4bc495ad9947685a2844ccd03b0a7bc2f.zip
fix bug in single PE charge
This commit makes sure that when we conolve the single PE charge distribution with a gaussian we integrate starting at zero since the PDF is zero for q < 0.
Diffstat (limited to 'src')
-rw-r--r--src/sno_charge.c2
-rw-r--r--src/test.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/sno_charge.c b/src/sno_charge.c
index 31de608..f96655b 100644
--- a/src/sno_charge.c
+++ b/src/sno_charge.c
@@ -231,7 +231,7 @@ void init_charge(void)
for (j = 0; j < nq; j++) {
params[0] = x[j];
params[1] = i;
- gsl_integration_cquad(&F, x[j]-QSMEAR_ADC*10/MEAN_HIPT, x[j]+QSMEAR_ADC*10/MEAN_HIPT, 0, 1e-4, w, &result, &error, &nevals);
+ gsl_integration_cquad(&F, fmax(0.0,x[j]-QSMEAR_ADC*10/MEAN_HIPT), x[j]+QSMEAR_ADC*10/MEAN_HIPT, 0, 1e-4, w, &result, &error, &nevals);
y[j] = result;
}
gsl_spline_free(splines[i-1]);
diff --git a/src/test.c b/src/test.c
index 9976f1f..6d7d934 100644
--- a/src/test.c
+++ b/src/test.c
@@ -278,7 +278,7 @@ int test_sno_charge_integral(char *err)
gsl_integration_cquad(&F, -10.0, 1000.0, 0, 1e-9, w, &result, &error, &nevals);
- if (!isclose(result, 1.0, 1e-9, 1e-9)) {
+ if (!isclose(result, 1.0, 1e-9, 1e-3)) {
sprintf(err, "integral of single PE charge distribution is %.2f", result);
goto err;
}