LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
CBAlgoMergeTinyWithBig.h
Go to the documentation of this file.
1 
14 #ifndef RECOTOOL_CBALGOMERGETINYWITHBIG_H
15 #define RECOTOOL_CBALGOMERGETINYWITHBIG_H
16 
19 
20 namespace cmtool {
32 
33  public:
36 
39 
40  //
41  // Author should be aware of 3 functions at least: Bool, Report, and Reset.
42  // More possibly-useful functions can be later part but commented out.
43  // All of these functions are virtual and defined in the base class.
44  //
45 
50  virtual bool Bool(const ::cluster::ClusterParamsAlg& cluster1,
51  const ::cluster::ClusterParamsAlg& cluster2);
52 
57  virtual void Report();
58 
60  virtual void Reset();
61 
65  //virtual void EventBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
66 
70  //virtual void EventEnd();
71 
77  //virtual void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
78 
82  //virtual void IterationEnd();
83 
84  //both clusters must have > this # of hits to be considered for merging
85  void SetMinHitsBig(size_t nhits) { _min_hits_big = nhits; }
86 
87  void SetMaxHitsBig(size_t nhits) { _max_hits_big = nhits; }
88 
89  void SetMinHitsSmall(size_t nhits) { _min_hits_small = nhits; }
90 
91  void SetMaxHitsSmall(size_t nhits) { _max_hits_small = nhits; }
92 
94 
95  void SetDebug(bool flag) { _debug = flag; }
96 
97  private:
99 
101 
102  bool _debug;
103  };
104 }
105 #endif
106  // 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.
CBAlgoMergeTinyWithBig()
Default constructor.
constexpr double dist(const TReal *x, const TReal *y, const unsigned int dimension)
virtual ~CBAlgoMergeTinyWithBig()
Default destructor.
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)