23 const double thicknessA(2.5);
24 const double thicknessB(5.0);
25 const double sigma(1.0);
26 const double hurst(0.3);
27 const double lateralCorrLength(5.0);
28 const double crossCorrLength(10.0);
35 Layer vacuum_layer(vacuum_material, 0);
36 Layer partA_layer(part_a_material, thicknessA);
37 Layer partB_layer(part_b_material, thicknessB);
38 Layer substrate_layer(substrate_material, 0);
43 sample->addLayer(vacuum_layer);
44 for (
int i = 0; i < 5; ++i) {
45 sample->addLayerWithTopRoughness(partA_layer, roughness);
46 sample->addLayerWithTopRoughness(partB_layer, roughness);
48 sample->addLayerWithTopRoughness(substrate_layer, roughness);
49 sample->setCrossCorrLength(crossCorrLength);
Defines class LayerRoughness.
Factory functions used to create material instances.
Defines class MultiLayerWithRoughnessBuilder.
Defines class MultiLayer.
A roughness of interface between two layers.
A layer in a MultiLayer sample.
A wrapper for underlying material implementation.
Our sample model: a stack of layers one below the other.
Material RefractiveMaterial(const std::string &name, complex_t refractive_index, R3 magnetization)
MultiLayer * createMultiLayerWithRoughness()