File MaterialSlab.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent


using MaterialSlabMatrix = std::vector<MaterialSlabVector>
using MaterialSlabVector = std::vector<MaterialSlab>
using RecordedMaterialVolumePoint = std::vector<std::pair<Acts::MaterialSlab, std::vector<Acts::Vector3>>>

list of point used in the mapping of a volume


std::ostream &operator<<(std::ostream &os, const MaterialSlab &materialSlab)
class MaterialSlab
#include <Acts/Material/MaterialSlab.hpp>

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(float thickness)

Construct vacuum with 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.

MaterialSlab(MaterialSlab&&) = default
MaterialSlab(const 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=(MaterialSlab&&) = default
MaterialSlab &operator=(const 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.

Private Members

Material m_material
float m_thickness = 0.0f
float m_thicknessInL0 = 0.0f
float m_thicknessInX0 = 0.0f


inline friend constexpr bool operator!=(const MaterialSlab &lhs, const MaterialSlab &rhs)
inline friend constexpr bool operator==(const MaterialSlab &lhs, const MaterialSlab &rhs)