13 #include "cetlib_except/exception.h"
18 fill(
const art::PtrVector<recob::Hit>& hits,
int only_plane)
59 for (std::list<KHitGroup>::iterator igr =
fSorted.begin(); igr !=
fSorted.end();) {
65 const std::shared_ptr<const Surface>& psurf = gr.
getSurface();
71 std::optional<double>
dist = prop.
vec_prop(trkp, psurf, dir,
false, 0, 0);
79 std::list<KHitGroup>::iterator it = igr;
104 std::vector<unsigned int> planehits(3, 0);
108 for (std::list<KHitGroup>::const_iterator igr =
fUnsorted.begin(); igr !=
fUnsorted.end();
116 ++planehits.at(plane);
121 unsigned int prefplane = 0;
122 for (
unsigned int i = 0; i < planehits.size(); ++i) {
123 if (planehits[i] >= planehits[prefplane]) prefplane = i;
void setPath(bool has_path, double path)
Set path flag and estimated path distance.
A collection of KHitGroups.
std::optional< double > vec_prop(KTrack &trk, const std::shared_ptr< const Surface > &psurf, PropDirection dir, bool doDedx, TrackMatrix *prop_matrix=0, TrackError *noise_matrix=0) const
Propagate without error (long distance).
unsigned int getPreferredPlane() const
Return the plane with the most KHitGroups in the unsorted list.
std::list< KHitGroup > fUnused
Unused KHitGroup objects.
void fill(const art::PtrVector< recob::Hit > &hits, int only_plane)
std::list< KHitGroup > fUnsorted
Unsorted KHitGroup objects.
void clear()
Clear all lists.
constexpr double dist(const TReal *x, const TReal *y, const unsigned int dimension)
void sort(const KTrack &trk, bool addUnsorted, const Propagator &prop, Propagator::PropDirection dir=Propagator::UNKNOWN)
(Re)sort objects in unsorted and sorted lists.
const std::shared_ptr< const Surface > & getSurface() const
Surface accessor.
std::list< KHitGroup > fSorted
Sorted KHitGroup objects.
PropDirection
Propagation direction enum.
void reset()
Move all objects to unsorted list (from sorted and unused lists).
int getPlane() const
Plane index.