15 #ifndef BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCE1DLATTICE_H
16 #define BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCE1DLATTICE_H
31 std::string
className() const final {
return "Interference1DLattice"; }
32 std::vector<ParaMeta>
parDefs() const final
34 return {{
"Length",
"nm",
"lattice constant", 0, +
INF, 0},
35 {
"Xi",
"rad",
"angle x axis and lattice vector??", -
INF, +
INF, 0}};
Defines and implements the interface class IInterference.
Abstract base class of interference functions.
Interface for a one-dimensional distribution, with normalization adjusted so that the Fourier transfo...
Interference function of a 1D lattice.
int m_na
determines the number of reciprocal lattice points to use
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
void setDecayFunction(const IProfile1D &decay)
Sets one-dimensional decay function.
std::vector< ParaMeta > parDefs() const final
Returns the parameter definitions, to be hard-coded in each leaf class.
std::vector< const INode * > nodeChildren() const override
Returns all children.
double iff_without_dw(R3 q) const override
Calculates the structure factor without Debye-Waller factor.
Interference1DLattice * clone() const override
std::unique_ptr< IProfile1D > m_decay
~Interference1DLattice() override
Interference1DLattice(double length, double xi)
Constructor of interference function of one-dimensional lattice.