11 #include <boost/none.hpp>
12 #include <boost/optional.hpp>
59 const std::pair<size_t, Acts::MultiTrajectory<SimSourceLink>>
trajectory()
64 throw std::runtime_error(
"No fitted states on this trajectory!");
73 throw std::runtime_error(
74 "No fitted track parameter for this trajectory!");
82 (*m_trajectory).visitBackwards(
m_trackTip, [&](
const auto&) {
91 size_t nMeasurements = 0;
93 (*m_trajectory).visitBackwards(
m_trackTip, [&](
const auto& state) {
110 std::vector<ParticleHitCount> particleHitCount;
113 (*m_trajectory).visitBackwards(
m_trackTip, [&](
const auto& state) {
119 const auto particleId = state.uncalibrated().truthHit().particleId();
121 auto it = std::find_if(particleHitCount.begin(), particleHitCount.end(),
123 return phc.particleId == particleId;
127 if (
it != particleHitCount.end()) {
130 particleHitCount.push_back({particleId, 1
u});
136 if (not particleHitCount.empty()) {
138 std::sort(particleHitCount.begin(), particleHitCount.end(),
144 return particleHitCount;