LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
CBAlgoMergeTinyWithBig.h
Go to the documentation of this file.
1 
14 #ifndef RECOTOOL_CBALGOMERGETINYWITHBIG_H
15 #define RECOTOOL_CBALGOMERGETINYWITHBIG_H
16 
17 #include <iostream>
19 
20 namespace cmtool {
32 
33  public:
34 
37 
40 
41  //
42  // Author should be aware of 3 functions at least: Bool, Report, and Reset.
43  // More possibly-useful functions can be later part but commented out.
44  // All of these functions are virtual and defined in the base class.
45  //
46 
51  virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1,
52  const ::cluster::ClusterParamsAlg &cluster2);
53 
58  virtual void Report();
59 
61  virtual void Reset();
62 
63 
64 
68  //virtual void EventBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
69 
73  //virtual void EventEnd();
74 
80  //virtual void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
81 
85  //virtual void IterationEnd();
86 
87  //both clusters must have > this # of hits to be considered for merging
88  void SetMinHitsBig(size_t nhits) { _min_hits_big = nhits; }
89 
90  void SetMaxHitsBig(size_t nhits) { _max_hits_big = nhits; }
91 
92  void SetMinHitsSmall(size_t nhits) { _min_hits_small = nhits; }
93 
94  void SetMaxHitsSmall(size_t nhits) { _max_hits_small = nhits; }
95 
96  void SetMinDistSquared(double dist) { _dist_sqrd_cut = dist; }
97 
98  void SetDebug(bool flag) { _debug = flag; }
99 
100  private:
101 
103 
105 
106  bool _debug;
107 
108  };
109 }
110 #endif
111  // end of doxygen group
112 
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.
virtual ~CBAlgoMergeTinyWithBig()
Default destructor.
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)