diff --git a/Core/FormFactors/src/FormFactorCone.cpp b/Core/FormFactors/src/FormFactorCone.cpp index a6e4412dbade873765fc64f93635c62f0e4b0e25..6a97b985d0a5c07ecedf56b773d7f0d27352b55c 100644 --- a/Core/FormFactors/src/FormFactorCone.cpp +++ b/Core/FormFactors/src/FormFactorCone.cpp @@ -59,7 +59,7 @@ complex_t FormFactorCone::Integrand(double Z, void* params) const double Rz = m_radius -Z/std::tan(m_alpha); complex_t q_p = m_q.magxy(); // sqrt(x*x + y*y) - return Rz*Rz*MathFunctions::Bessel_C1(std::abs(q_p*Rz)) * + return Rz*Rz*MathFunctions::Bessel_C1(q_p*Rz) * std::exp(complex_t(0.0, 1.0)*m_q.z()*Z); } diff --git a/Core/FormFactors/src/FormFactorCylinder.cpp b/Core/FormFactors/src/FormFactorCylinder.cpp index d6b18d32fd9e4b19173898f9175308738636d202..51dd15db4f412a1efc96c24599f6a0e54117ca5b 100644 --- a/Core/FormFactors/src/FormFactorCylinder.cpp +++ b/Core/FormFactors/src/FormFactorCylinder.cpp @@ -54,7 +54,7 @@ complex_t FormFactorCylinder::evaluate_for_q(const cvector_t& q) const complex_t qrR = q.magxy()*R; complex_t J1_qrR_div_qrR = std::abs(qrR) > Numeric::double_epsilon ? - MathFunctions::Bessel_J1(std::abs(qrR))/(std::abs(qrR)) : + MathFunctions::Bessel_C1(qrR) : 0.5; complex_t radial_part = 2*M_PI*R*R*J1_qrR_div_qrR; diff --git a/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp b/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp index e1c83aecb27832c2d1f631a90ebf3d17a6a0bdaa..a9cf36f0a2db244c88cbf1db5ba8d67de5e7d3b0 100644 --- a/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp +++ b/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp @@ -41,7 +41,7 @@ complex_t FormFactorEllipsoidalCylinder::evaluate_for_q(const cvector_t& q) cons complex_t Fz = std::exp(complex_t(0.0, 1.0)*qzHdiv2) *MathFunctions::Sinc(qzHdiv2); complex_t gamma = std::sqrt((qxRa)*(qxRa) + (qyRb)*(qyRb)); - complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(std::abs(gamma)); + complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(gamma); return 2.*M_PI *m_radius_a*m_radius_b*m_height * Fz*J1_gamma_div_gamma; diff --git a/Core/FormFactors/src/FormFactorFullSpheroid.cpp b/Core/FormFactors/src/FormFactorFullSpheroid.cpp index 5c9460f7ab6f5ace7bff1194f1a99be3ea717abc..5a32d17f195f1479f839f15a2537b75715f8f85f 100644 --- a/Core/FormFactors/src/FormFactorFullSpheroid.cpp +++ b/Core/FormFactors/src/FormFactorFullSpheroid.cpp @@ -58,7 +58,7 @@ complex_t FormFactorFullSpheroid::Integrand(double Z, void* params) const double Rz = R*std::sqrt(1-4.0*Z*Z/(H*H)); complex_t qrRz = m_q.magxy()*Rz; - complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(std::abs(qrRz)); + complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(qrRz); return Rz*Rz* J1_qrRz_div_qrRz *std::cos(m_q.z()*Z); } diff --git a/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp b/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp index 0f5791646a92b2134580e2b696a1435200abc0e3..9bcc567a11186dc905bae0ddcd8885e7ab52c732 100644 --- a/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp +++ b/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp @@ -68,7 +68,7 @@ complex_t FormFactorHemiEllipsoid::Integrand(double Z, void* params) const complex_t qyWz = m_q.y()*Wz; complex_t gamma = std::sqrt (qxRz*qxRz + qyWz*qyWz); - complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(std::abs(gamma)); + complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(gamma); complex_t exp_imag = std::exp(complex_t(0.0,1.0)*m_q.z()*Z); return Rz * Wz * J1_gamma_div_gamma *exp_imag; diff --git a/Core/FormFactors/src/FormFactorSphere.cpp b/Core/FormFactors/src/FormFactorSphere.cpp index 4956bfa3fc02e2b55af3385829af0615921af7c9..d5f4b42cebbb0dbebc3b9a839ff8858af46daa06 100644 --- a/Core/FormFactors/src/FormFactorSphere.cpp +++ b/Core/FormFactors/src/FormFactorSphere.cpp @@ -57,7 +57,7 @@ complex_t FormFactorSphere::Integrand(double Z, void* params) const (void)params; // to avoid unused-variable warning double Rz = std::sqrt(std::abs(m_radius*m_radius-Z*Z) ); complex_t q_p = m_q.magxy(); // sqrt(x*x + y*y) - return Rz*Rz*MathFunctions::Bessel_C1(std::abs(q_p*Rz)) * + return Rz*Rz*MathFunctions::Bessel_C1(q_p*Rz) * std::exp(complex_t(0.0, 1.0)*m_q.z()*Z); } diff --git a/Core/FormFactors/src/FormFactorSpheroid.cpp b/Core/FormFactors/src/FormFactorSpheroid.cpp index a2a383ddb4e04a40849b6af6d87390342ee8c158..7edb40e012f91183c723f69b9da2be74875422df 100644 --- a/Core/FormFactors/src/FormFactorSpheroid.cpp +++ b/Core/FormFactors/src/FormFactorSpheroid.cpp @@ -60,7 +60,7 @@ complex_t FormFactorSpheroid::Integrand(double Z, void* params) const double Rz = std::sqrt(R*R-Z*Z/(fp*fp)); complex_t qrRz = m_q.magxy()*Rz; - complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(std::abs(qrRz)); + complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(qrRz); return Rz * Rz * J1_qrRz_div_qrRz * std::exp(complex_t(0.0,1.0)*m_q.z()*Z); }