20 FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(
const std::vector<double> P)
23 {{
"MeanRadius",
"nm",
"para_tooltip", 0, +INF, 0},
24 {
"SigmaRadius",
"nm",
"para_tooltip", 0, +INF, 0}}},
26 m_mean(m_P[0]), m_sigma(m_P[1])
28 m_mean_r3 = calculateMeanR3();
32 FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(
double mean,
double sigma)
39 double q2 = std::norm(q.
x()) + std::norm(q.
y()) + std::norm(q.
z());
40 double dw = std::exp(-q2 * m_sigma * m_sigma / 2.0);
47 mP_shape = std::make_unique<TruncatedEllipsoid>(m_mean, m_mean, m_mean, 2.0 * m_mean, 0.0);
50 double FormFactorSphereGaussianRadius::calculateMeanR3()
const
52 return std::pow(m_mean * (m_mean * m_mean + 3.0 * m_sigma * m_sigma), 1.0 / 3.0);
complex_t exp_I(complex_t z)
Returns exp(I*z), where I is the imaginary unit.
Defines class RealLimits.
Defines class TruncatedEllipsoid.
T z() const
Returns z-component in cartesian coordinate system.
T y() const
Returns y-component in cartesian coordinate system.
T x() const
Returns x-component in cartesian coordinate system.
complex_t ffSphere(cvector_t q, double R)
Returns the form factor of a sphere of radius R.