15 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_HORIZONTALCYLINDER_H
16 #define BORNAGAIN_SAMPLE_HARDPARTICLE_HORIZONTALCYLINDER_H
34 std::string
className() const final {
return "HorizontalCylinder"; }
36 std::vector<ParaMeta>
parDefs() const final
39 {
"Radius",
"nm",
"radius of base", 0, +
INF, 0},
40 {
"Length",
"nm",
"length", 0, +
INF, 0},
41 {
"Slice_bottom",
"nm",
"Cut starts here (-R<=slice_bottom<slice_top<=+R)", -
INF, +
INF,
43 {
"Slice_top",
"nm",
"Cut ends here (-R<=slice_bottom<slice_top<=+R)", -
INF, +
INF, 0}};
complex_t formfactor_at_bottom(C3 q) const override
const double & m_slice_top
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
double radialExtension() const override
Returns the (approximate in some cases) radial size of the particle of this form factor's shape....
HorizontalCylinder * clone() const override
Returns a clone of this ISampleNode object.
double slice_bottom() const
const double & m_slice_bottom
HorizontalCylinder(double radius, double length, double slice_bottom, double slice_top)