15 #ifndef BORNAGAIN_CORE_PARTICLE_FORMFACTORCRYSTAL_H
16 #define BORNAGAIN_CORE_PARTICLE_FORMFACTORCRYSTAL_H
28 const IFormFactor& meso_form_factor,
double position_variance = 0.0);
33 return new FormFactorCrystal(m_lattice, *mp_basis_form_factor, *mp_meso_form_factor,
44 double volume() const override final {
return mp_meso_form_factor->
volume(); }
57 void calculateLargestReciprocalDistance();
58 complex_t debyeWallerFactor(
const kvector_t& q_i)
const;
63 double m_position_variance;
64 double m_max_rec_length;
Visitor interface to visit ISample objects.
Pure virtual interface for rotations.
virtual const Material * material() const
Returns nullptr, unless overwritten to return a specific material.
A lattice with three basis vectors.
A wrapper for underlying material implementation.
Holds all wavevector information relevant for calculating form factors.