CBAlgoStartNearEnd.h
Go to the documentation of this file.
1 /**
2  * \file CBAlgoStartNearEnd.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CBAlgoStartNearEnd
7  *
8  * @author david caratelli
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CBALGOSTARTNEAREND_H
15 #define RECOTOOL_CBALGOSTARTNEAREND_H
16 
19 
20 namespace cmtool {
21  /**
22  \class CBAlgoStartNearEnd
23  Merge if start point of one is near end point of another
24  and require angle compatibility
25  */
27 
28  public:
29 
30  /// Default constructor
32 
33  /// Default destructor
34  virtual ~CBAlgoStartNearEnd(){};
35 
36  /**
37  Core function: given the ClusterParamsAlg input, return whether a cluster should be
38  merged or not.
39  */
40 
42 
43  void SetMaxAngle(double a) { _maxopeningangle=a; }
44 
45  void SetMinHits(size_t n) { _MinHits=n; }
46 
47  virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1,
48  const ::cluster::ClusterParamsAlg &cluster2);
49 
50  /// Function to reset the algorithm instance ... maybe implemented via child class
51  virtual void Reset(){}
52 
53  /// Function to report what's going on per merging
54  virtual void Report();
55 
56  protected:
57 
59  double _separation;
60  size_t _MinHits;
61 
62  };
63 }
64 
65 #endif
66 /** @} */ // 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 ~CBAlgoStartNearEnd()
Default destructor.
void SetMaxStartEndSeparation(double d)
std::void_t< T > n
const double a
CBAlgoStartNearEnd()
Default constructor.
virtual void Report()
Function to report what&#39;s going on per merging.