20 #include "headcpp.hpp"
21 #include "utilities.hpp"
25 double feta_zero (
double eta,
const Param& par) {
26 double chi = par.get_double(0) ;
27 double rsa = par.get_double(1) ;
28 double denom = (cosh(eta)-cos(chi)) ;
29 return ((sinh(eta)*sinh(eta)+sin(chi)*sin(chi))/denom/denom-rsa*rsa) ;
33 double eta_lim_chi (
double chi,
double rext,
double a,
double eta_c) {
36 par_func.add_double(chi, 0) ;
37 par_func.add_double(rext/a,1) ;
38 double precis = PRECISION ;
45 res = zerosec(feta_zero, par_func, 0, eta_c, precis, nitermax, niter) ;
49 double fchi_zero (
double chi,
const Param& par) {
50 double eta = par.get_double(0) ;
51 double rsa = par.get_double(1) ;
52 double denom = (cosh(eta)-cos(chi)) ;
53 return ((sinh(eta)*sinh(eta)+sin(chi)*sin(chi))/denom/denom-rsa*rsa) ;
57 double chi_lim_eta (
double eta,
double rext,
double a,
double chi_c) {
60 par_func.add_double(eta, 0) ;
61 par_func.add_double(rext/a,1) ;
62 double precis = PRECISION ;
65 if (fabs(eta)<=PRECISION)
68 res = zerosec(fchi_zero, par_func, 0, chi_c, precis, nitermax, niter) ;