16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_RESAMPLE_PARTICLE_REPARTICLE_H
21 #define BORNAGAIN_RESAMPLE_PARTICLE_REPARTICLE_H
24 #include <heinz/Vectors3D.h>
52 double volume()
const override;
68 std::unique_ptr<const IFormFactor>
m_ff;
72 const R3* position,
const RotMatrix* rotMatrix);
Defines and implements interface IReParticle.
Abstract base class for reprocessed particles.
Abstract base class for rotations.
A wrapper for underlying material implementation.
A reprocessed simple particle, with shape m_ff.
std::unique_ptr< const RotMatrix > m_rotMatrix
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.
void setMaterial(const Material &material)
Sets the material of the scatterer.
const IFormFactor * formfactor_at_bottom() const
ReParticle(const IFormFactor &ff)
std::unique_ptr< const Material > m_material
void setAmbientMaterial(const Material &ambient_material) override
Sets the ambient material.
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.
ReParticle * clone() const override
void setRotMatrix(const RotMatrix &rotMatrix)
std::unique_ptr< const IFormFactor > m_ff
std::unique_ptr< const Material > m_ambient_material
void setPosition(const R3 &position)
static ReParticle * createTransformedFormFactor(const IFormFactor &formfactor, const IRotation *rot, R3 translation)
double volume() const override
Returns the total volume of the particle of this form factor's shape.
std::unique_ptr< const R3 > m_position
complex_t theFF(const WavevectorInfo &wavevectors) const override
Returns scattering amplitude for complex wavevectors ki, kf.
Rotation matrix in three dimensions. Represents group SO(3). Internal parameterization based on quate...
Holds all wavevector information relevant for calculating form factors.