15 #ifndef BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCEFUNCTIONHARDDISK_H
16 #define BORNAGAIN_SAMPLE_AGGREGATE_INTERFERENCEFUNCTIONHARDDISK_H
Defines and implements the interface class IInterferenceFunction.
Abstract base class of interference functions.
Visitor interface to visit ISampleNode objects.
virtual void visit(const BasicLattice2D *)
Percus-Yevick hard disk interference function.
InterferenceFunctionHardDisk * 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.
InterferenceFunctionHardDisk(double radius, double density, double position_var=0)
double getParticleDensity() const override
If defined by this interference function's parameters, returns the particle density (per area).
~InterferenceFunctionHardDisk() override=default
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
double packingRatio() const
double integrand(double x) const