diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-07-04 12:29:35 -0400 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-07-04 12:29:35 -0400 |
commit | f89ea76bee11390594a81dc2e70558dd12a5643c (patch) | |
tree | c75fd4df2b1fb2d107d409a88cec91b820a113ed | |
parent | f08d661a5f959fc54cd3409c4c618324cdd31be4 (diff) | |
download | sddm-f89ea76bee11390594a81dc2e70558dd12a5643c.tar.gz sddm-f89ea76bee11390594a81dc2e70558dd12a5643c.tar.bz2 sddm-f89ea76bee11390594a81dc2e70558dd12a5643c.zip |
update
-rw-r--r-- | solid_angle.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/solid_angle.c b/solid_angle.c index 6959e2d..f89d65e 100644 --- a/solid_angle.c +++ b/solid_angle.c @@ -9,7 +9,7 @@ double get_solid_angle(double *pos, double *pmt, double *n, double r) * * See http://www.umich.edu/~ners312/CourseLibrary/SolidAngleOfADiskOffAxis.pdf. */ double dir[3]; - double L, r0, R, a, k, Rmax, K, P; + double L, r0, R, a2, k, Rmax, K, P; dir[0] = pos[0] - pmt[0]; dir[1] = pos[1] - pmt[1]; @@ -19,17 +19,17 @@ double get_solid_angle(double *pos, double *pmt, double *n, double r) R = sqrt(dir[0]*dir[0] + dir[1]*dir[1] + dir[2]*dir[2]); r0 = sqrt(R*R - L*L); - a = 4*r0*r/pow(r0+r,2); + a2 = 4*r0*r/pow(r0+r,2); Rmax = sqrt(L*L + (r0+r)*(r0+r)); k = sqrt(4*r0*r/(L*L + pow(r0+r,2))); if (r0 <= r) { K = gsl_sf_ellint_Kcomp(k, GSL_PREC_DOUBLE); - P = gsl_sf_ellint_Pcomp(k, a, GSL_PREC_DOUBLE); + P = gsl_sf_ellint_Pcomp(k, a2, GSL_PREC_DOUBLE); return 2*M_PI - 2*L*K/Rmax + (2*L/Rmax)*(r0-r)*P/(r0+r); } else { K = gsl_sf_ellint_Kcomp(k, GSL_PREC_DOUBLE); - P = gsl_sf_ellint_Pcomp(k, a, GSL_PREC_DOUBLE); + P = gsl_sf_ellint_Pcomp(k, a2, GSL_PREC_DOUBLE); return -2*L*K/Rmax + (2*L/Rmax)*(r0-r)*P/(r0+r); } } |