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.

  • 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.


layers – Input layers to average over.

MaterialSlab(float thickness)

Construct vacuum with thickness.

MaterialSlab(MaterialSlab&&) = default
~MaterialSlab() = default
inline constexpr const Material &material() const

Access the (average) material parameters.

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.