31     : m_material(std::move(material)), mP_form_factor(form_factor.clone())
 
   38     : m_material(std::move(material)), mP_form_factor(form_factor.clone())
 
   65     std::unique_ptr<IFormFactor> P_temp_ff(
 
   70     double volume = P_temp_ff->volume();
 
   72     P_ff->setMaterial(transformed_material);
 
   74     result.
m_regions.push_back({volume, transformed_material});
 
Factory functions used to create material instances.
 
Defines class SlicedParticle.
 
void setAbundance(double abundance)
Sets particle abundance.
 
void registerChild(INode *node)
 
void setName(const std::string &name)
 
std::vector< const INode * > getChildren() const override
Returns a vector of children (const).
 
void setPosition(kvector_t position)
Sets relative position of the particle's reference point in the coordinate system of parent.
 
std::unique_ptr< IRotation > mP_rotation
 
const IRotation * rotation() const
Returns rotation object.
 
void setRotation(const IRotation &rotation)
Sets transformation.
 
void registerParticleProperties()
Registers abundance and position.
 
Pure virtual interface for rotations.
 
static IRotation * createIdentity()
 
A wrapper for underlying material implementation.
 
Material rotatedMaterial(const Transform3D &transform) const
 
A particle with a form factor and refractive index.
 
Particle * clone() const override final
Returns a clone of this ISample object.
 
const Material * material() const override final
Returns nullptr, unless overwritten to return a specific material.
 
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
 
void setFormFactor(const IFormFactor &form_factor)
 
SlicedParticle createSlicedParticle(ZLimits limits) const override final
Creates a sliced form factor for this particle.
 
std::unique_ptr< IFormFactor > mP_form_factor
 
void setMaterial(Material material)
 
Class that contains upper and lower limits of the z-coordinate for the slicing of form factors.
 
Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization)
Constructs a material with name, refractive_index and magnetization (in A/m).
 
Struct that contains information on a sliced particle.
 
std::vector< HomogeneousRegion > m_regions
 
std::unique_ptr< IFormFactor > mP_slicedff