25 , fFlags(
std::move(flags))
29 throw std::runtime_error(
"recob::TrackTrajectory constructed with " 32 +
" point flags! it requires the same number for both." 36 throw std::runtime_error(
"recob::TrackTrajectory constructed with only " 38 +
" valid positions! at least 2 are required." 47 unsigned int count = 0;
48 for (
size_t index = 0; index <
NPoints(); ++index) {
58 (std::vector<double>& start, std::vector<double>&
end)
const 85 size_t iCurr = ToValidPoint<+1>(startAt);
90 while ((iNext = ToValidPoint<+1>(++iNext)) <= iLast) {
92 length += (*next - *curr).
R();
109 if (min == 0)
return true;
111 for (
size_t i = 0; i <
NPoints(); ++i) {
113 if (--left == 0)
return true;
120 std::ostream& recob::operator<<
122 { traj.Dump(out);
return out; }
TrackTrajectory()=default
Default constructor; do not use it! it's needed by ROOT I/O.
size_t LastValidPoint() const
Returns the index of the last valid point in the trajectory.
tracking::Positions_t Positions_t
Type of trajectory point list.
unsigned int CountValidPoints() const
Computes and returns the number of points with valid location.
tracking::Momenta_t Momenta_t
Type of momentum list.
Flags_t fFlags
Flags of each of the points in trajectory.
double Length(size_t startAt=0) const
Returns the approximate length of the trajectory.
size_t LastPoint() const
Returns the index of the last point in the trajectory.
size_t NPoints() const
Returns the number of stored trajectory points.
A trajectory in space reconstructed from hits.
bool HasValidPoint(size_t i) const
Returns whether the specified point has NoPoint flag unset.
std::pair< Vector_t, Vector_t > Direction() const
Returns the trajectory directions at first and last valid points.
Point_t const & LocationAtPoint(size_t i) const
Returns the position at the specified trajectory point.
Data product for reconstructed trajectory in space.
std::vector< PointFlags_t > Flags_t
Type of point flag list.
Vector_t EndDirection() const
Returns the direction of the trajectory at the last point.
tracking::Coord_t Coord_t
Type used for coordinates and values in general.
A trajectory in space reconstructed from hits.
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
std::string to_string(Flag_t< Storage > const flag)
Convert a flag into a stream (shows its index).
Point_t const & End() const
Returns the position of the last valid point of the trajectory [cm].
bool AtLeastValidTrajectoryPoints(unsigned int left) const
Returns whether there are at least min valid points in the trajectory.
std::vector< evd::details::RawDigitInfo_t >::const_iterator end(RawDigitCacheDataClass const &cache)
tracking::Point_t Point_t
Type for representation of position in physical 3D space.
Vector_t StartDirection() const
Returns the direction of the trajectory at the first point.
Point_t const & Start() const
Returns the position of the first valid point of the trajectory [cm].
std::pair< Point_t, Point_t > Extent() const
Returns a copy of the first and last valid point in the trajectory.
void FillTwoVectors(SrcVect const &firstSource, SrcVect const &secondSource, DestVect &&firstDest, DestVect &&secondDest)
Converts two vectors into another type of vector using FillVector.