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
ParticleCoreShell(const Particle &shell, const Particle &core, R3 relative_core_position=R3(0.0, 0.0, 0.0))
const Particle * coreParticle() const
ParticleCoreShell * clone() const override
Returns a clone of this ISampleNode object.
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
const Particle * shellParticle() const
std::vector< const INode * > nodeChildren() const override
Returns all children.
~ParticleCoreShell() override
A particle with a form factor and refractive index.