LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
CBAlgoPolyShortestDist.h
Go to the documentation of this file.
1 
14 #ifndef RECOTOOL_CBALGOPOLYSHORTESTDIST_H
15 #define RECOTOOL_CBALGOPOLYSHORTESTDIST_H
16 
17 #include <vector>
18 
21 
22 namespace cmtool {
29 
30  public:
33 
36 
40  virtual void EventBegin(const std::vector<cluster::ClusterParamsAlg>& clusters);
41 
45  //virtual void EventEnd();
46 
52  //virtual void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
53 
57  //virtual void IterationEnd();
58 
63  virtual bool Bool(const ::cluster::ClusterParamsAlg& cluster1,
64  const ::cluster::ClusterParamsAlg& cluster2);
65 
70  virtual void Report();
71 
73  virtual void Reset();
74 
75  //both clusters must have > this # of hits to be considered for merging
76  void SetMinNumHits(size_t nhits) { _min_hits = nhits; }
77 
78  void SetMaxNumHits(int nhits) { _max_hits = nhits; }
79 
81 
82  void SetDebug(bool flag) { _debug = flag; }
83 
84  private:
86 
88 
89  bool _debug;
90 
91  double tmp_min_dist;
92  };
93 }
94 #endif
95  // end of doxygen group
Class def header for algorithm classes for CMergeManager.
virtual void Reset()
Function to reset the algorithm instance ... maybe implemented via child class.
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)
virtual void EventBegin(const std::vector< cluster::ClusterParamsAlg > &clusters)
CBAlgoPolyShortestDist()
Default constructor.
virtual ~CBAlgoPolyShortestDist()
Default destructor.
constexpr double dist(const TReal *x, const TReal *y, const unsigned int dimension)