Class Material¶
Defined in File Material.hpp
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:
radiation length X0 (native length units)
nuclear interaction length L0 (native length units)
relative atomic mass Ar (unitless number)
nuclear charge number Z (elementary charge e)
molar density (native amount-of-substance unit / (native length unit)³)
The parameters can be effective or average parameters e.g. when a mixture of materials is described.
- Note
Always use the opaque parameters vector to serialize/deserialize the material information. Since the internal storage might be different from the external accessors, this ensures that always the numerically optimal parameters are stored. Use the
ParametersVector
type and do not assume any particular size since we might consider to store more parameters in the future.
Public Types
-
using
ParametersVector
= Eigen::Matrix<float, 5, 1>¶
Public Functions
-
Material
() = default¶ Construct a vacuum representation.
-
Material
(const ParametersVector ¶meters)¶ Construct from an encoded parameters vector.
-
~Material
() = default¶
-
constexpr float
Ar
() const¶ Return the relative atomic mass.
-
constexpr float
L0
() const¶ Return the nuclear interaction length. Infinity in case of vacuum.
-
float
massDensity
() const¶ Return the mass density.
-
float
meanExcitationEnergy
() const¶ Return the mean electron excitation energy.
-
constexpr float
molarDensity
() const¶ Return the molar density.
-
constexpr float
molarElectronDensity
() const¶ Return the molar electron density.
-
constexpr
operator bool
() const¶ Check if the material is valid, i.e. it is not vacuum.
-
ParametersVector
parameters
() const¶ Encode the properties into an opaque parameters vector.
-
constexpr float
X0
() const¶ Return the radition length. Infinity in case of vacuum.
-
constexpr float
Z
() const¶ Return the nuclear charge number.
Public Static Functions
-
Material
fromMassDensity
(float x0, float l0, float ar, float z, float massRho)¶ Construct from material parameters using the mass density.
- Warning
Due to the choice of native mass units, using the mass density can lead to numerical problems. Typical mass densities lead to computations with values differing by 20+ orders of magnitude.
- Parameters
X0
: is the radiation lengthL0
: is the nuclear interaction lengthAr
: is the relative atomic massZ
: is the nuclear charge numbermassRho
: is the mass density
-
Material
fromMolarDensity
(float x0, float l0, float ar, float z, float molarRho)¶ Construct from material parameters using the molar density.
- Parameters
X0
: is the radiation lengthL0
: is the nuclear interaction lengthAr
: is the relative atomic massZ
: is the nuclear charge numbermolarRho
: is the molar density