LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
SeedFinderAlgBase.h
Go to the documentation of this file.
1 
8 #ifndef SeedFinderAlgBase_h
9 #define SeedFinderAlgBase_h
10 
11 // Framework Includes
12 #include "fhiclcpp/ParameterSet.h"
14 
15 // Algorithm includes
17 
18 //------------------------------------------------------------------------------------------------------------------------------------------
19 
20 namespace lar_cluster3d
21 {
22 typedef std::pair<recob::Seed, reco::HitPairListPtr> SeedHitPairListPair;
23 typedef std::vector<SeedHitPairListPair > SeedHitPairListPairVec;
24 
29 {
30 public:
34  virtual void reconfigure(fhicl::ParameterSet const &pset) = 0;
35 
40  virtual bool findTrackSeeds(reco::HitPairListPtr& hitPairListPtr,
41  reco::PrincipalComponents& inputPCA,
42  SeedHitPairListPairVec& seedHitPairVec) const = 0;
43 
44 protected:
45 
50  {
52  {
53  return left->getArclenToPoca() < right->getArclenToPoca();
54  }
55 
56  };
57 
63  {
65  {
66  return fabs(left->getArclenToPoca()) < fabs(right->getArclenToPoca());
67  }
68 
69  };
70 
71 private:
72 };
73 
74 } // namespace lar_cluster3d
75 #endif
std::vector< SeedHitPairListPair > SeedHitPairListPairVec
Define a comparator which will sort hits by arc length along a PCA axis.
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
SeedFinderAlgBase class.
bool operator()(const reco::ClusterHit3D *left, const reco::ClusterHit3D *right)
Define a comparator which will sort hits by the absolute value of arc length so hits are ordered clos...
virtual void reconfigure(fhicl::ParameterSet const &pset)=0
Require that a handler is definied in case the algorithm control parameters are to be reset...
std::list< const reco::ClusterHit3D * > HitPairListPtr
Definition: Cluster3D.h:315
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
float getArclenToPoca() const
Definition: Cluster3D.h:155
std::pair< recob::Seed, reco::HitPairListPtr > SeedHitPairListPair
virtual bool findTrackSeeds(reco::HitPairListPtr &hitPairListPtr, reco::PrincipalComponents &inputPCA, SeedHitPairListPairVec &seedHitPairVec) const =0
Define the interface to take an input list of 3D hits and return seed candidates so hits are ordered ...
bool operator()(const reco::ClusterHit3D *left, const reco::ClusterHit3D *right)