diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-09-17 09:20:22 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-09-17 09:20:22 -0500 |
commit | 49e982b4bc495ad9947685a2844ccd03b0a7bc2f (patch) | |
tree | 1b24cb4d0c36ae41cd5cc9e9f88135f023748383 /src | |
parent | 3759539f9f9c9f15114e485560e1d8d05f6bf4c3 (diff) | |
download | sddm-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.c | 2 | ||||
-rw-r--r-- | src/test.c | 2 |
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]); @@ -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; } |