Defines interface IParticle.
Pure virtual base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
A particle with a core/shell geometry.
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
void addAndRegisterShell(const Particle &shell)
ParticleCoreShell * clone() const override final
Returns a clone of this ISample object.
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
const Particle * shellParticle() const
void addAndRegisterCore(const Particle &core, kvector_t relative_core_position)
SlicedParticle createSlicedParticle(ZLimits limits) const override final
Creates a sliced form factor for this particle.
std::unique_ptr< Particle > mp_shell
const Particle * coreParticle() const
std::unique_ptr< Particle > mp_core
A particle with a form factor and refractive index.
Struct that contains information on a sliced particle.