28 CylindersInDWBABuilder::CylindersInDWBABuilder()
29 : m_height(5 *
Units::nanometer), m_radius(5 *
Units::nanometer)
33 MultiLayer* CylindersInDWBABuilder::buildSample()
const
35 Layer vacuum_layer(refMat::Vacuum);
36 Layer substrate_layer(refMat::Substrate);
40 Particle particle(refMat::Particle, ff_cylinder);
43 vacuum_layer.addLayout(particle_layout);
47 multi_layer->
addLayer(substrate_layer);
54 CylindersInBABuilder::CylindersInBABuilder()
55 : m_height(5 *
Units::nanometer), m_radius(5 *
Units::nanometer)
57 registerParameter(
"height", &m_height);
58 registerParameter(
"radius", &m_radius);
61 MultiLayer* CylindersInBABuilder::buildSample()
const
63 Layer vacuum_layer(refMat::Vacuum);
66 Particle cylinder(refMat::Particle, ff_cylinder);
70 vacuum_layer.addLayout(particle_layout);
80 LargeCylindersInDWBABuilder::LargeCylindersInDWBABuilder()
81 : m_height(1000 *
Units::nanometer), m_radius(500 *
Units::nanometer)
85 MultiLayer* LargeCylindersInDWBABuilder::buildSample()
const
87 Layer vacuum_layer(refMat::Vacuum);
88 Layer substrate_layer(refMat::Substrate);
92 Particle particle(refMat::Particle, ff_cylinder);
95 vacuum_layer.addLayout(particle_layout);
99 multi_layer->
addLayer(substrate_layer);
106 RotatedCylindersBuilder::RotatedCylindersBuilder()
107 : m_height(5 *
Units::nanometer), m_radius(5 *
Units::nanometer)
111 MultiLayer* RotatedCylindersBuilder::buildSample()
const
115 Particle particle(refMat::Particle, ff_cylinder);
119 Layer vacuum_layer(refMat::Vacuum);
120 Layer substrate_layer(refMat::Substrate);
121 substrate_layer.addLayout(particle_layout);
124 multi_layer->
addLayer(vacuum_layer);
125 multi_layer->
addLayer(substrate_layer);
Defines classes of CylindersBuilder family.
Defines class LayerInterface.
Defines class MultiLayer.
Defines class ParticleLayout.
Defines materials in namespace refMat.
Defines some unit conversion factors and other constants in namespace Units.
A layer, with thickness (in nanometer) and material.
Our sample model: a stack of layers one below the other.
void addLayer(const Layer &layer)
Adds object to multilayer.
Decorator class that adds particles to ISample objects.
void addParticle(const IAbstractParticle &particle, double abundance=-1.0, const kvector_t position={}, const IRotation &rotation=IdentityRotation())
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.
Constants and functions for physical unit conversions.