21 FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(
const std::vector<double> P,
25 {{
"MeanRadius",
"nm",
"para_tooltip", 0, +INF, 0},
26 {
"ScaleParameter",
"",
"para_tooltip", -INF, +INF, 0}}},
28 m_mean(m_P[0]), m_scale_param(m_P[1]), m_n_samples(n_samples)
33 m_probabilities.clear();
34 for (
ParameterSample& sample : distri.equidistantSamples(m_n_samples)) {
35 m_radii.push_back(sample.value);
36 m_probabilities.push_back(sample.weight);
42 FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(
double mean,
double scale_param,
56 for (
size_t i = 0; i < m_radii.size(); ++i)
63 mP_shape = std::make_unique<TruncatedEllipsoid>(m_mean, m_mean, m_mean, 2.0 * m_mean, 0.0);
Defines classes representing one-dimensional distributions.
Defines class ParameterSample.
Defines class TruncatedEllipsoid.
A parameter value with a weight, as obtained when sampling from a distribution.
complex_t ffSphere(cvector_t q, double R)
Returns the form factor of a sphere of radius R.