15 #ifndef BORNAGAIN_CORE_AGGREGATE_INTERFERENCEFUNCTION3DLATTICE_H
16 #define BORNAGAIN_CORE_AGGREGATE_INTERFERENCEFUNCTION3DLATTICE_H
42 std::vector<const INode*>
getChildren() const override final;
Defines and implements the interface class IInterferenceFunction.
Pure virtual base class of interference functions.
Visitor interface to visit ISample objects.
Pure virtual interface class that defines the peak shape of a Bragg peak.
Interference function of a 3D lattice.
void setPeakShape(const IPeakShape &peak_shape)
double m_rec_radius
radius in reciprocal space defining the nearest q vectors to use
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
InterferenceFunction3DLattice(const Lattice &lattice)
void onChange() override final
Action to be taken in inherited class when a parameter has changed.
double iff_without_dw(const kvector_t q) const override final
Calculates the structure factor without Debye-Waller factor.
bool supportsMultilayer() const override final
Indicates if this interference function can be used with a multilayer (DWBA mode)
InterferenceFunction3DLattice * clone() const override final
Returns a clone of this ISample object.
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
const Lattice & lattice() const
std::unique_ptr< IPeakShape > mP_peak_shape
~InterferenceFunction3DLattice() final
A lattice with three basis vectors.