15 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_TRUNCATEDSPHEROID_H
16 #define BORNAGAIN_SAMPLE_HARDPARTICLE_TRUNCATEDSPHEROID_H
34 std::string
className() const final {
return "TruncatedSpheroid"; }
36 std::vector<ParaMeta>
parDefs() const final
38 return {{
"Radius",
"nm",
"horizontal radius", 0, +
INF, 0},
39 {
"Height",
"nm",
"height before removal of cap", 0, +
INF, 0},
40 {
"HeightFlattening",
"",
"ratio of vertical to horizontal radius", 0, +
INF, 0},
41 {
"DeltaHeight",
"nm",
"height of removed cap", 0, +
INF, 0}};
A truncated spheroid. An ellipsoid with two equal axis, truncated by a plane perpendicular to the thi...
double radialExtension() const override
Returns the (approximate in some cases) radial size of the particle of this form factor's shape....
const double & m_height_flattening
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
TruncatedSpheroid * clone() const override
Returns a clone of this ISampleNode object.
complex_t formfactor_at_bottom(C3 q) const override
double removedTop() const
double heightFlattening() const
TruncatedSpheroid(double radius, double height, double height_flattening, double dh)