40{
42 std::vector<Acts::MaterialInteraction> nStep;
44 double sum_X0 = 0;
45 double sum_L0 = 0;
46
47
48
53 ATH_MSG_WARNING(
"z-vertex position larger than expected for material mapping. Check the beamspot config used for production of material steps!");
54
55 Acts::Vector3 v_pos{0, 0, 0};
57 v_imp = v_imp.normalized();
58
59 for(auto const step: colStep) {
61 Acts::MaterialSlab matProp(Acts::Material::fromMassDensity(
step->x0(),
step->l0(),
step->A(),
step->Z(), (
step->rho() * Acts::UnitConstants::g) ),
step->steplength());
62 Acts::MaterialInteraction interaction;
63 interaction.position =
pos;
64 interaction.direction = Acts::Vector3(
pos.x(),
pos.y(),
pos.z());
65 interaction.direction = interaction.direction.normalized();
66 interaction.materialSlab = matProp;
67 sum_X0 +=
step->steplengthInX0();
68 sum_L0 +=
step->steplengthInL0();
69 nStep.push_back(interaction);
70 }
71
74 recorded.materialInteractions = std::move(nStep);
75
76 mTrack = std::make_pair(std::make_pair(v_pos, v_imp), recorded);
77
78 return mTrack;
79
80}
Scalar deltaR(const MatrixBase< Derived > &vec) const
#define ATH_MSG_WARNING(x)
const T * back() const
Access the last element in the collection as an rvalue.
const T * front() const
Access the first element in the collection as an rvalue.
double hitX() const
Access method : hitX,Y,Z,R.
std::pair< std::pair< Acts::Vector3, Acts::Vector3 >, RecordedMaterial > RecordedMaterialTrack
Recorded material track.
list recorded
if USE_PDG_VALUES = True, load PDG value of sin2thetaW and particle masses/widths from parameter dict...