29 const double layer_thickness(100);
30 const double length(50);
31 const double width(20);
32 const double height(10);
48 sample->addLayer(vacuum_layer);
49 sample->addLayer(middle_layer);
50 sample->addLayer(substrate);
Defines class MultiLayer.
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)
Our sample model: a stack of layers one below the other.
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.
MultiLayer * createTransformBox()
static constexpr double deg
static const Material Substrate2
static const Material Vacuum
static const Material Teflon