15 float pathCorrection) {
25 if (useEmptyTrack or (0 < m_trackAverage.thickness())) {
26 float variance = ((1 / m_trackAverage.material().X0()) -
28 ((1 / m_trackAverage.material().X0()) -
30 if (m_totalCount == 0
u) {
31 m_totalVariance = variance;
33 double weightTotal = m_totalCount / (m_totalCount + 1.0);
34 double weightTrack = 1 / (m_totalCount + 1.0);
35 m_totalVariance = weightTotal * m_totalVariance + weightTrack * variance;
42 if (useEmptyTrack or (0 < m_trackAverage.thickness())) {
43 if (m_totalCount == 0
u) {
44 m_totalAverage = m_trackAverage;
46 double weightTotal = m_totalCount / (m_totalCount + 1.0);
47 double weightTrack = 1 / (m_totalCount + 1.0);
50 weightTotal * m_totalAverage.thickness());
52 weightTrack * m_trackAverage.thickness());
61 std::pair<Acts::MaterialSlab, unsigned int>
63 return {m_totalAverage, m_totalCount};
68 return {m_totalVariance, m_totalCount};