15 #ifndef BORNAGAIN_CORE_CORRELATIONS_IPEAKSHAPE_H
16 #define BORNAGAIN_CORE_CORRELATIONS_IPEAKSHAPE_H
60 double m_max_intensity;
82 double m_max_intensity;
106 double m_max_intensity;
107 double m_radial_size;
131 double m_max_intensity;
132 double m_radial_size;
145 double kappa_1,
double kappa_2);
157 double m_max_intensity;
158 double m_radial_size;
160 double m_kappa_1, m_kappa_2;
162 double integrand(
double phi)
const;
163 mutable double m_theta, m_phi;
186 double m_max_intensity;
187 double m_radial_size;
191 double integrand(
double phi)
const;
192 mutable double m_theta, m_phi, m_qr;
Defines interface class ISample.
A peak shape that is Gaussian in the radial direction and uses the Mises-Fisher distribution in the a...
bool angularDisorder() const override
Indicates if the peak shape encodes angular disorder, in which case all peaks in a spherical shell ar...
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
GaussFisherPeakShape * clone() const override
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
Visitor interface to visit ISample objects.
Pure virtual interface class that defines the peak shape of a Bragg peak.
virtual double evaluate(const kvector_t q, const kvector_t q_lattice_point) const =0
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
virtual bool angularDisorder() const
Indicates if the peak shape encodes angular disorder, in which case all peaks in a spherical shell ar...
virtual IPeakShape * clone() const =0
Returns a clone of this ISample object.
Pure virtual base class for sample components and properties related to scattering.
Class that implements an isotropic Gaussian peak shape of a Bragg peak.
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
IsotropicGaussPeakShape * clone() const override
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
An isotropic Lorentzian peak shape of a Bragg peak.
IsotropicLorentzPeakShape * clone() const override
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
A peak shape that is Lorentzian in the radial direction and uses the Mises-Fisher distribution in the...
LorentzFisherPeakShape * clone() const override
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
bool angularDisorder() const override
Indicates if the peak shape encodes angular disorder, in which case all peaks in a spherical shell ar...
A peak shape that is Gaussian in the radial direction and a convolution of a Mises-Fisher distributio...
MisesFisherGaussPeakShape * clone() const override
Returns a clone of this ISample object.
bool angularDisorder() const override
Indicates if the peak shape encodes angular disorder, in which case all peaks in a spherical shell ar...
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.
A peak shape that is a convolution of a Mises-Fisher distribution with a 3d Gaussian.
bool angularDisorder() const override
Indicates if the peak shape encodes angular disorder, in which case all peaks in a spherical shell ar...
double evaluate(const kvector_t q, const kvector_t q_lattice_point) const override
Evaluates the peak shape at q from a reciprocal lattice point at q_lattice_point.
MisesGaussPeakShape * clone() const override
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override
Calls the INodeVisitor's visit method.