Class Acts::MaterialSlab
-
class MaterialSlab
Material description for an object with defined thickness.
This is intended to describe concrete surface materials.
See also
Material for a description of the available parameters.
Public Functions
-
MaterialSlab() = default
Construct vacuum without thickness.
-
MaterialSlab(const Material &material, float thickness)
Construct from material description.
- Parameters
material – is the material description
thickness – is the thickness of the material
-
MaterialSlab(const MaterialSlab&) = default
-
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.
- Parameters
layers – Input layers to average over.
-
MaterialSlab(float thickness)
Construct vacuum with thickness.
-
MaterialSlab(MaterialSlab&&) = default
-
~MaterialSlab() = default
-
inline constexpr operator bool() const
Check if the material is valid, i.e. it is finite and not vacuum.
-
MaterialSlab &operator=(const MaterialSlab&) = default
-
MaterialSlab &operator=(MaterialSlab&&) = default
-
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