15 #ifndef BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCEFUNCTION1DLATTICE_H
16 #define BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCEFUNCTION1DLATTICE_H
39 std::vector<const INode*>
getChildren()
const override;
46 std::unique_ptr<IFTDecayFunction1D>
m_decay;
Defines and implements the interface class IInterferenceFunction.
Interface for a one-dimensional decay function, with evaluate(q) returning the Fourier transform,...
Abstract base class of interference functions.
Visitor interface to visit ISampleNode objects.
virtual void visit(const BasicLattice2D *)
Interference function of a 1D lattice.
std::unique_ptr< IFTDecayFunction1D > m_decay
~InterferenceFunction1DLattice() override
std::vector< const INode * > getChildren() const override
Returns a vector of children.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
InterferenceFunction1DLattice(double length, double xi)
Constructor of interference function of one-dimensional lattice.
int m_na
determines the number of reciprocal lattice points to use
void setDecayFunction(const IFTDecayFunction1D &decay)
Sets one-dimensional decay function.
InterferenceFunction1DLattice * clone() const override
Returns a clone of this ISampleNode object.
double iff_without_dw(const kvector_t q) const override
Calculates the structure factor without Debye-Waller factor.