25 MultiLayer* BoxesSquareLatticeBuilder::buildSample()
const
27 const double length = 5 * Units::nanometer;
28 const double height = 10 * Units::nanometer;
30 Layer vacuum_layer(refMat::Vacuum);
31 Layer substrate_layer(refMat::Substrate);
33 std::unique_ptr<InterferenceFunction2DLattice> P_interference_function(
37 P_interference_function->setDecayFunction(pdf);
42 Particle particle(refMat::Particle, ff_box);
47 vacuum_layer.addLayout(particle_layout);
51 multi_layer->
addLayer(substrate_layer);
Defines class BoxesSquareLatticeBuilder.
Defines class InterferenceFunction2DLattice.
Defines class MultiLayer.
Defines class ParticleLayout.
Defines materials in namespace refMat.
Defines some unit conversion factors and other constants in namespace Units.
Two-dimensional Cauchy decay function in reciprocal space; corresponds to exp(-r) in real space,...
static InterferenceFunction2DLattice * createSquare(double lattice_length, double xi)
Creates square lattice.
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 setInterferenceFunction(const IInterferenceFunction &interference_function)
Adds interference functions.
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.