CBAlgoTrackSeparate.h
Go to the documentation of this file.
1 /**
2  * \file CBAlgoTrackSeparate.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CBAlgoTrackSeparate
7  *
8  * @author david caratelli
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CBALGOTRACKSEPARATE_H
15 #define RECOTOOL_CBALGOTRACKSEPARATE_H
16 
19 
20 namespace cmtool {
21  /**
22  \class CBAlgoTrackSeparate
23  */
25 
26  public:
27 
28  /// Default constructor
30 
31  /// Default destructor
32  virtual ~CBAlgoTrackSeparate(){};
33 
34  /**
35  Core function: given the ClusterParamsAlg input, return whether a cluster should be
36  merged or not.
37  */
38  virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1,
39  const ::cluster::ClusterParamsAlg &cluster2);
40 
41  void SetVerbose(bool on) { _verbose = on; }
42 
43  void SetDebug(bool on) { _debug = on; }
44 
45  void SetMinNumHits(size_t n) { _MinNumHits = n; }
46 
47  void SetMinAngleDiff(float anglesep) { _MinAngleDiff = anglesep; }
48 
49  void SetMaxOpeningAngle(float maxangle) { _MaxOpeningAngle = maxangle; }
50 
51  void SetMinLength(float minlength) { _MinLength = minlength; }
52 
53  void SetMinPolyHitDensity(float mindensity) { _MinDensity = mindensity; }
54 
55  void SetMaxWidth(float maxwidth) { _MaxWidth = maxwidth; }
56 
57  void SetUseEP(bool flag) { _use_EP = flag; }
58 
59  void SetEPCutoff(float epcut) { _ep_cut = epcut; }
60 
61  /// Function to reset the algorithm instance ... maybe implemented via child class
62  virtual void Reset(){}
63 
64  /// Function to report what's going on per merging
65  virtual void Report();
66 
67  protected:
68 
69  bool _verbose;
70  bool _debug;
71  bool _use_EP;
72  float _ep_cut;
73  size_t _MinNumHits;
76  float _MinLength;
77  float _MinDensity;
78  float _MaxWidth;
79  double _wire_2_cm;
80  double _time_2_cm;
81  };
82 }
83 
84 #endif
85 /** @} */ // end of doxygen group
Class def header for algorithm classes for CMergeManager.
void SetMaxWidth(float maxwidth)
virtual void Reset()
Function to reset the algorithm instance ... maybe implemented via child class.
virtual void Report()
Function to report what's going on per merging.
CBAlgoTrackSeparate()
Default constructor.
std::void_t< T > n
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)
void SetVerbose(bool on)
Setter function for verbosity.
void SetMinPolyHitDensity(float mindensity)
void SetMaxOpeningAngle(float maxangle)
void SetMinLength(float minlength)
Definition: cfalgo.cc:3
virtual ~CBAlgoTrackSeparate()
Default destructor.
void SetMinAngleDiff(float anglesep)