15 #ifndef BORNAGAIN_CORE_PARTICLE_CRYSTAL_H
16 #define BORNAGAIN_CORE_PARTICLE_CRYSTAL_H
37 const kvector_t& translation)
const override final;
45 std::vector<const INode*>
getChildren() const override final;
Defines class IClusteredParticles.
A crystal structure with a ParticleComposition as a basis.
Crystal * clone() const override final
Returns a clone of this ISample object.
IFormFactor * createTotalFormFactor(const IFormFactor &meso_crystal_form_factor, const IRotation *p_rotation, const kvector_t &translation) const override final
Creates a total form factor for the mesocrystal with a specific shape and content The bulk content of...
std::unique_ptr< IParticle > mp_lattice_basis
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
Crystal(const IParticle &lattice_basis, const Lattice &lattice)
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
void setPositionVariance(double position_variance)
double m_position_variance
std::vector< HomogeneousRegion > homogeneousRegions() const override final
Creates region information with volumetric densities instead of absolute volume These densities need ...
Lattice transformedLattice(const IRotation *p_rotation=nullptr) const
An ordered assembly of particles.
Visitor interface to visit ISample objects.
Pure virtual base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
Pure virtual interface for rotations.
A lattice with three basis vectors.