16 #error no need to expose this header to Swig
19 #ifndef BORNAGAIN_RESAMPLE_PARTICLE_REMESOCRYSTAL_H
20 #define BORNAGAIN_RESAMPLE_PARTICLE_REMESOCRYSTAL_H
32 double position_variance = 0.0);
45 double volume()
const override;
Defines and implements interface IReParticle.
Abstract base class for reprocessed particles.
virtual void setAmbientMaterial(const Material &)
Passes the material in which this particle is embedded.
Abstract base class for rotations.
A Bravais lattice, characterized by three basis vectors, and optionally an ISelectionRule.
A wrapper for underlying material implementation.
A reprocessed MesoCrystal.
complex_t theFF(const WavevectorInfo &wavevectors) const override
Returns scattering amplitude for complex wavevectors ki, kf.
void calculateLargestReciprocalDistance()
double radialExtension() const override
Returns the (approximate in some cases) radial size of the particle of this form factor's shape....
double topZ(const IRotation *rotation) const override
Returns the z-coordinate of the lowest point in this shape after a given rotation.
double m_position_variance
SpinMatrix thePolFF(const WavevectorInfo &wavevectors) const override
Returns scattering amplitude for matrix interactions.
double bottomZ(const IRotation *rotation) const override
Returns the z-coordinate of the lowest point in this shape after a given rotation.
complex_t debyeWallerFactor(const R3 &q_i) const
void setAmbientMaterial(const Material &material) override
Passes the material in which this particle is embedded.
ReParticle * m_outer_shape
The outer shape of this mesocrystal.
double volume() const override
Returns the total volume of the particle of this form factor's shape.
ReMesocrystal * clone() const override
ReMesocrystal(const Lattice3D &lattice, const IReParticle &basis, const ReParticle &outer_shape, double position_variance=0.0)
~ReMesocrystal() override
A reprocessed simple particle, with shape m_ff.
Holds all wavevector information relevant for calculating form factors.