//----------------------------------------- // form factor |I(x)|^2 //----------------------------------------- double I2(double x){ double pi = 3.141593; double lambda= x*x; double freal = -2.*pow(asin(0.5/sqrt(lambda)),2); double fimag = 0.; if(lambda < 0.25) { double etap = 0.5 + sqrt(0.25-lambda); double etam = 0.5 - sqrt(0.25-lambda); freal = 0.5*pow(log(etap/etam),2) - pi*pi/2; fimag = pi * log(etap/etam); } double Ireal = 3.*(2.*lambda + lambda*(4.*lambda-1) * freal); double Iimag = 3.*lambda*(4.*lambda-1) * fimag; return Ireal * Ireal + Iimag * Iimag; }