aboutsummaryrefslogtreecommitdiff
path: root/calculate_limits.c
diff options
context:
space:
mode:
Diffstat (limited to 'calculate_limits.c')
-rw-r--r--calculate_limits.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/calculate_limits.c b/calculate_limits.c
index 07fe052..eefb6b8 100644
--- a/calculate_limits.c
+++ b/calculate_limits.c
@@ -3,7 +3,7 @@
#include <math.h> /* For M_PI */
/* Decay length of mediator V (in mm). */
-double decay_length = 1000.0;
+double decay_length = 1000e9;
/* Mass of dark matter particle (MeV). */
double mass = 1000.0;
@@ -27,6 +27,9 @@ double radius_fiducial = 5000;
* they are used in some functions. */
double x_sno[3];
+double epsabs = 1e-2;
+double epsrel = 1e-2;
+
double deg2rad(double deg)
{
return deg*M_PI/180.0;
@@ -160,7 +163,7 @@ double f2(double theta, void *params)
F.function = &f3;
F.params = params;
- gsl_integration_qags(&F, 0, 2*M_PI, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, 2*M_PI, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -180,7 +183,7 @@ double f1(double r, void *params)
F.function = &f2;
F.params = params;
- gsl_integration_qags(&F, 0, M_PI, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, M_PI, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -201,10 +204,10 @@ double f4_earth(double phi_earth, void *params)
gsl_integration_workspace *w = gsl_integration_workspace_alloc(1000);
- F.function = &f2;
+ F.function = &f1;
F.params = params;
- gsl_integration_qags(&F, 0, radius_fiducial, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, radius_fiducial, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -223,7 +226,7 @@ double f3_earth(double theta_earth, void *params)
F.function = &f4_earth;
F.params = params;
- gsl_integration_qags(&F, 0, 2*M_PI, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, 2*M_PI, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -239,10 +242,10 @@ double f2_earth(double r_earth, void *params)
gsl_integration_workspace *w = gsl_integration_workspace_alloc(1000);
- F.function = &f2;
+ F.function = &f3_earth;
F.params = (void *) data;
- gsl_integration_qags(&F, 0, M_PI, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, M_PI, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -259,7 +262,7 @@ double get_event_rate()
F.function = &f2_earth;
F.params = NULL;
- gsl_integration_qags(&F, 0, radius_earth, 0, 1e-7, 1000, w, &result, &error);
+ gsl_integration_qags(&F, 0, radius_earth, epsabs, epsrel, 1000, w, &result, &error);
gsl_integration_workspace_free(w);
@@ -276,7 +279,7 @@ int main(int argc, char **argv)
sphere2cartesian(radius_earth - sno_depth, sno_theta, sno_phi, x_sno, x_sno+1, x_sno+2);
- printf("volume = %.2g\n", get_event_rate());
+ printf("volume = %.18e\n", get_event_rate());
return 0;
}