15 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_HEMIELLIPSOID_H
16 #define BORNAGAIN_SAMPLE_HARDPARTICLE_HEMIELLIPSOID_H
35 std::string
className() const final {
return "HemiEllipsoid"; }
37 std::vector<ParaMeta>
parDefs() const final
39 return {{
"RadiusX",
"nm",
"radius in x direction", 0, +
INF, 0},
40 {
"RadiusY",
"nm",
"radius in y direction", 0, +
INF, 0},
41 {
"Height",
"nm",
"height = radius in z direction", 0, +
INF, 0}};
An hemi ellipsoid, obtained by truncating a full ellipsoid in the middle plane spanned by two princip...
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
const double & m_radius_x
complex_t formfactor_at_bottom(C3 q) const override
HemiEllipsoid * clone() const override
Returns a clone of this ISampleNode object.
~HemiEllipsoid() override=default
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
const double & m_radius_y
double radialExtension() const override
Returns the (approximate in some cases) radial size of the particle of this form factor's shape....
HemiEllipsoid(double radius_x, double radius_y, double height)