47 result->addLayer(l_Si);
49 const int nlayers = 3;
50 for (
size_t i = 0; i < nlayers; ++i) {
51 result->addLayerWithTopRoughness(l_Ti, roughness);
52 result->addLayerWithTopRoughness(l_Pt, roughness);
55 result->addLayerWithTopRoughness(l_Ti_top, roughness);
56 result->addLayerWithTopRoughness(l_TiO2, roughness);
57 result->addLayerWithTopRoughness(l_D2O, roughness);
59 result->setCrossCorrLength(400 *
Units::nm);
Defines class LayerRoughness.
Factory functions used to create material instances.
Defines class MultiLayer.
Defines ResonatorBuilder class.
Defines some unit conversion factors and other constants in namespace Units.
RealParameter & registerParameter(const std::string &name, double *parpointer)
Interface to the class capable to build samples to simulate.
A roughness of interface between two layers.
A layer, with thickness (in nanometer) and material.
A wrapper for underlying material implementation.
Our sample model: a stack of layers one below the other.
MultiLayer * buildSample() const
Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization)
Constructs a material with name, refractive_index and magnetization (in A/m).
Constants and functions for physical unit conversions.
static constexpr double micrometer
static constexpr double nm