19 eInteractionLength = 1,
20 eRelativeAtomicMass = 2,
30 float z,
float massRho) {
31 using namespace Acts::UnitLiterals;
49 const double atomicMass =
static_cast<double>(ar) * 1_u;
50 mat.m_molarRho =
static_cast<double>(massRho) / (atomicMass * kAvogadro);
55 float z,
float molarRho) {
66 :
m_x0(parameters[eRadiationLength]),
67 m_l0(parameters[eInteractionLength]),
68 m_ar(parameters[eRelativeAtomicMass]),
69 m_z(parameters[eNuclearCharge]),
73 using namespace Acts::UnitLiterals;
76 const double atomicMass =
static_cast<double>(m_ar) * 1_u;
77 const double numberDensity =
static_cast<double>(m_molarRho) * kAvogadro;
78 return atomicMass * numberDensity;
82 using namespace Acts::UnitLiterals;
85 return 16_eV * std::pow(m_z, 0.9f);
90 parameters[eRadiationLength] = m_x0;
91 parameters[eInteractionLength] = m_l0;
92 parameters[eRelativeAtomicMass] = m_ar;
93 parameters[eNuclearCharge] = m_z;
94 parameters[eMolarDensity] = m_molarRho;
102 os <<
"X0=" << material.
X0();
103 os <<
"|L0=" << material.
L0();
104 os <<
"|Ar=" << material.
Ar();
105 os <<
"|Z=" << material.
Z();