Material description for an object with defined thickness.
This is intended to describe concrete surface materials.
Material for a description of the available parameters.
MaterialSlab() = default
Construct vacuum without thickness.
MaterialSlab(const Material &material, float thickness)
Construct from material description.
material – is the material description
thickness – is the thickness of the material
MaterialSlab(const std::vector<MaterialSlab> &layers)
Construct by averaging the material properties over multiple layers.
The resulting object has the combined thickness of all layers but just one set of appropriately averaged material constants.
layers – Input layers to average over.
Construct vacuum with thickness.
~MaterialSlab() = default
inline constexpr operator bool() const
Check if the material is valid, i.e. it is finite and not vacuum.
void scaleThickness(float scale)
Scale the material thickness by the given factor.
inline constexpr float thickness() const
Return the thickness.
inline constexpr float thicknessInL0() const
Return the nuclear interaction length fraction.
inline constexpr float thicknessInX0() const
Return the radiation length fraction.
- MaterialSlab() = default