18 : m_thickness(thickness) {}
23 : m_material(X0, L0, Ar, Z, rho),
24 m_thickness(thickness),
25 m_thicknessInX0((X0 >
eps) ? (thickness / X0) : 0),
26 m_thicknessInL0((L0 >
eps) ? (thickness / L0) : 0) {}
30 : m_material(material),
31 m_thickness(thickness),
32 m_thicknessInX0((material.X0() >
eps) ? (thickness / material.X0()) : 0),
33 m_thicknessInL0((material.L0() >
eps) ? (thickness / material.L0()) : 0) {
37 const std::vector<MaterialProperties>& layers)
47 for (
const auto&
layer : layers) {
50 const auto layerWeight =
mat.massDensity() *
layer.thickness();
52 Ar +=
mat.Ar() * layerWeight;
53 Z +=
mat.Z() * layerWeight;
54 weight += layerWeight;
56 thickness +=
layer.thickness();
57 thicknessInX0 +=
layer.thicknessInX0();
58 thicknessInL0 +=
layer.thicknessInL0();
76 m_thicknessInX0 *=
scale;
77 m_thicknessInL0 *=
scale;
83 <<
"|t=" << materialProperties.
thickness();