diff --git a/Sample/HardParticle/TruncatedSpheroid.cpp b/Sample/HardParticle/TruncatedSpheroid.cpp index 75247496a2b621de9d8f5119831867c273291509..88c995e49f42cb70abdd9891b7141864c4620f0d 100644 --- a/Sample/HardParticle/TruncatedSpheroid.cpp +++ b/Sample/HardParticle/TruncatedSpheroid.cpp @@ -46,15 +46,15 @@ complex_t TruncatedSpheroid::formfactor_at_bottom(C3 q) const if (std::abs(q.mag()) <= std::numeric_limits<double>::epsilon()) return M_PI / 3. / fp * (H * H * (3. * R - H / fp) - m_dh * m_dh * (3. * R - m_dh / fp)); - return M_TWOPI * exp_I(q.z() * (H - fp * R)) + return M_TWOPI * exp_I(q.z() * (H - fp * R)) * fp * ComplexIntegrator().integrate( [=](double Z) { - double Rz = std::sqrt(R * R - Z * Z / (fp * fp)); + double Rz = std::sqrt(R * R - Z * Z); complex_t qrRz = std::sqrt(q.x() * q.x() + q.y() * q.y()) * Rz; - return Rz * Rz * Math::Bessel::J1c(qrRz) * exp_I(q.z() * Z); + return Rz * Rz * Math::Bessel::J1c(qrRz) * exp_I(q.z() * Z * fp); }, - fp * R - H, fp * R - m_dh); + R - H / fp, R - m_dh / fp); } std::string TruncatedSpheroid::validate() const