Class Material

Class Documentation

class Acts::Material

Material description for interactions with matter.

The following parameters are used to specify the material and its interactions with traversing particles:

  • X0: radiation length (native length units)

  • L0: nuclear interaction length (native length units)

  • Ar: relative atomic mass (unitless number)

  • Z: atomic number (unitless number)

  • rho: mass density (native mass unit / (native length unit)³)

The parameters can be effective or average parameters when e.g. a mixture of materials is described.

Public Types

enum Param

Index of the parameters in the encoded parameters vector.

Values:

enumerator eX0 = 0
enumerator eL0 = 1
enumerator eAr = 2
enumerator eZ = 3
enumerator eRho = 4

Public Functions

Material() = default

Construct a vacuum representation.

constexpr Material(float X0_, float L0_, float Ar_, float Z_, float rho_)

Construct from material parameters.

Parameters
  • X0_: is the radiation length

  • L0_: is the nuclear interaction length

  • Ar_: is the relative atomic mass

  • Z_: is the atomic number

  • rho_: is the mass density

Material(const ActsVectorF<5> &parameters)

Construct from an encoded parameters vector.

Material(Material &&mat) = default
Material(const Material &mat) = default
~Material() = default
constexpr float Ar() const

Return the relative atomic mass.

ActsVectorF<5> classificationNumbers() const

Encode the properties into a parameter vector.

constexpr float L0() const

Return the nuclear interaction length. Infinity in case of vacuum.

constexpr float massDensity() const

Return the mass density.

float meanExcitationEnergy() const

Return the mean electron excitation energy.

float molarElectronDensity() const

Return the electron density in mol / (native length unit)³.

Use mol instead of the real number of electrons to avoid large numbers which could result in numerical instabilities somewhere else.

constexpr operator bool() const

Check if the material is valid, i.e. it is not vacuum.

Material &operator=(Material &&mat) = default
Material &operator=(const Material &mat) = default
constexpr float X0() const

Return the radition length. Infinity in case of vacuum.

constexpr float Z() const

Return the atomic number.