12 #include "Acts/EventData/MultiTrajectory.hpp"
13 #include "Acts/EventData/TrackParameters.hpp"
16 #include <unordered_map>
27 using IndexedParams = std::unordered_map<size_t, Acts::BoundTrackParameters>;
52 const std::vector<size_t>& tTips,
54 : m_multiTrajectory(multiTraj),
56 m_trackParameters(parameters) {}
62 : m_multiTrajectory(rhs.m_multiTrajectory),
63 m_trackTips(rhs.m_trackTips),
64 m_trackParameters(rhs.m_trackParameters) {}
70 : m_multiTrajectory(std::move(rhs.m_multiTrajectory)),
71 m_trackTips(std::move(rhs.m_trackTips)),
72 m_trackParameters(std::move(rhs.m_trackParameters)) {}
82 m_multiTrajectory = rhs.m_multiTrajectory;
83 m_trackTips = rhs.m_trackTips;
84 m_trackParameters = rhs.m_trackParameters;
92 m_multiTrajectory = std::move(rhs.m_multiTrajectory);
93 m_trackTips = std::move(rhs.m_trackTips);
94 m_trackParameters = std::move(rhs.m_trackParameters);
104 return std::count(m_trackTips.begin(), m_trackTips.end(), entryIndex) > 0;
113 return m_trackParameters.count(entryIndex) > 0;
121 std::pair<std::vector<size_t>, Acts::MultiTrajectory<IndexSourceLink>>
123 return std::make_pair(m_trackTips, m_multiTrajectory);
132 auto it = m_trackParameters.find(entryIndex);
133 if (it != m_trackParameters.end()) {
136 throw std::runtime_error(
137 "No fitted track parameters for trajectory with entry index = " +
138 std::to_string(entryIndex));
148 const size_t& entryIndex)
const;
152 Acts::MultiTrajectory<IndexSourceLink> m_multiTrajectory;
155 std::vector<size_t> m_trackTips = {};