32 complex_t n_particle_shell(1.0 - 1e-4, 2e-8);
33 complex_t n_particle_core(1.0 - 6e-5, 2e-8);
40 Box ff_box1(16, 16, 8);
41 Particle shell_particle(shell_material, ff_box1);
43 Box ff_box2(12, 12, 7);
44 Particle core_particle(core_material, ff_box2);
46 R3 core_position(0.0, 0.0, 0.0);
53 sample->addLayer(vacuum_layer);
61 const double layer_thickness(100.0);
64 const double shell_length(50.0);
65 const double shell_width(20.0);
66 const double shell_height(10.0);
67 double core_length = shell_length / 2.0;
68 double core_width = shell_width / 2.0;
69 double core_height = shell_height / 2.0;
73 ParticleCoreShell coreshell(shell, core, R3(0.0, 0.0, (shell_height - core_height) / 2.0));
87 sample->addLayer(vacuum_layer);
88 sample->addLayer(middle_layer);
89 sample->addLayer(substrate);
Defines class CoreShellParticleBuilder.
Defines class MultiLayer.
Defines ParticleCoreShell.
Defines class ParticleLayout.
Defines materials in namespace refMat.
Defines IRotation classes.
Defines some unit conversion factors and other constants in namespace Units.
A rectangular prism (parallelepiped).
void setParticlePosition(R3 position)
Sets relative position of the particle's reference point in the coordinate system of parent.
IParticle * rotate(const IRotation &rotation)
Rotates the particle, and returns this.
void setRotation(const IRotation &rotation)
Sets transformation.
A layer in a MultiLayer sample.
void addLayout(const ParticleLayout &layout)
A wrapper for underlying material implementation.
Our sample model: a stack of layers one below the other.
A particle with a core/shell geometry.
Decorator class that adds particles to ISampleNode objects.
void addParticle(const IParticle &particle, double abundance=-1.0)
Adds particle to the layout with abundance, position and the rotation defined.
A particle with a form factor and refractive index.
A rotation about the y axis.
A rotation about the z axis.
Material RefractiveMaterial(const std::string &name, complex_t refractive_index, R3 magnetization)
MultiLayer * createCoreShellParticle()
MultiLayer * createCoreShellBoxRotateZandY()
static constexpr double deg
static const Material Substrate2
static const Material Vacuum
static const Material Teflon
static const Material AgO2