From c9c1d5810638d52cec4130b1b98360a14f453921 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Tue, 22 Nov 2022 10:55:48 +0100 Subject: [PATCH] factors out of integrand --- Sample/HardParticle/HemiEllipsoid.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Sample/HardParticle/HemiEllipsoid.cpp b/Sample/HardParticle/HemiEllipsoid.cpp index abbbf47ea6d..9b28c74c756 100644 --- a/Sample/HardParticle/HemiEllipsoid.cpp +++ b/Sample/HardParticle/HemiEllipsoid.cpp @@ -51,19 +51,13 @@ complex_t HemiEllipsoid::formfactor_at_bottom(C3 q) const if (std::abs(q.mag()) <= std::numeric_limits<double>::epsilon()) return M_TWOPI * R * W * H / 3.; - return M_TWOPI * H + return M_TWOPI * H * R * W * ComplexIntegrator().integrate( [=](double z) { - double Rz = R * std::sqrt(1.0 - z * z); - double Wz = W * std::sqrt(1.0 - z * z); - - complex_t qxRz = q.x() * Rz; - complex_t qyWz = q.y() * Wz; - complex_t gamma = G * std::sqrt(1.0 - z * z); complex_t J1_gamma_div_gamma = Math::Bessel::J1c(gamma); - return Rz * Wz * J1_gamma_div_gamma * exp_I(q.z() * H * z); + return (1. - z*z) * J1_gamma_div_gamma * exp_I(q.z() * H * z); }, 0., 1.); } -- GitLab