15 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_BAR_H
16 #define BORNAGAIN_SAMPLE_HARDPARTICLE_BAR_H
28 std::string
className() const final {
return "BarGauss"; }
30 std::vector<ParaMeta>
parDefs() const final
32 return {{
"Length",
"nm",
"Characteristic length", 0,
INF, 1.},
33 {
"Width",
"nm",
"Width", 0,
INF, 1.},
34 {
"Height",
"nm",
"Height", 0,
INF, 1.}};
39 complex_t
factor_x(complex_t qx)
const override;
50 std::string
className() const final {
return "BarLorentz"; }
52 std::vector<ParaMeta>
parDefs() const final
54 return {{
"Length",
"nm",
"Characteristic length", 0,
INF, 1.},
55 {
"Width",
"nm",
"Width", 0,
INF, 1.},
56 {
"Height",
"nm",
"Height", 0,
INF, 1.}};
61 complex_t
factor_x(complex_t qx)
const override;
Defines interface classes IProfileRipple, ICosineRipple, ISawtoothRipple.
The form factor of an elongated bar, with Gaussian profile in elongation direction.
complex_t factor_x(complex_t qx) const override
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
BarGauss(double length, double width, double height)
BarGauss * clone() const override
Returns a clone of this ISampleNode object.
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
The form factor of an elongated, with Lorentz form factor in elongation direction.
BarLorentz * clone() const override
Returns a clone of this ISampleNode object.
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
complex_t factor_x(complex_t qx) const override
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
BarLorentz(double length, double width, double height)
Base class for form factors with a rectangular ripple (bar) profile in the yz plane.