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