CBAlgoStartInCone.h
Go to the documentation of this file.
1 /**
2  * \file CBAlgoStartInCone.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CBAlgoStartInCone
7  *
8  * @author david
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CBALGOSTARTINCONE_H
15 #define RECOTOOL_CBALGOSTARTINCONE_H
16 
19 
20 namespace cmtool {
21 
22  /**
23  \class CBAlgoStartInCone
24  If start point of Cluster B in Cone region of Cluster A then merge
25  */
27 
28  public:
29 
30  /// Default constructor
32 
33  /// Default destructor
34  virtual ~CBAlgoStartInCone(){};
35 
36  /// Merging Algorithm is Here
37  virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1,
38  const ::cluster::ClusterParamsAlg &cluster2);
39 
40  /// Method to re-configure the instance
41  void reconfigure();
42 
43  /// Set Minimum number of hits for cone-cluster
44  void SetMinHits(size_t n){ _NhitsMin = n; }
45 
46  /// Set Minimum number of hits for cone-cluster
47  void SetMinLen(double l){ _lenMin = l; }
48 
49  /// Set Verbosity of messages
50  void SetVerbose(bool verbosity){ _verbose = verbosity; }
51 
52  /// Set Debug for messages
53  void SetDebug(bool debug){ _debug = debug; }
54 
55  /// Set Angle Compatibility betweeen the clusters
56  void SetAngleCompat(double deg){ _angleCompat = deg; }
57 
58  /// Set Length Reach: How for out the cone extends as percent of cluster length
59  void SetLengthReach(double frac){ _lengthReach = frac; }
60 
61  protected:
62 
63  double _wire_2_cm, _time_2_cm; /// Conversion factors ogtten from GeometryUtilities
64 
65  size_t _NhitsMin; /// Larger cluster which determines cone must have this many hits
66  double _lenMin; /// Larger cluster which determines cone must be at least this long
67  bool _verbose;
68  bool _debug;
69  double _angleCompat; /// Two clusters must have direction within this value of each other
70  double _lengthReach; ///How four out - as percent of cluster length - cone will extend from start point
71 
72  };
73 
74 }
75 #endif
76 /** @} */ // end of doxygen group
Class def header for algorithm classes for CMergeManager.
void SetAngleCompat(double deg)
Set Angle Compatibility betweeen the clusters.
bool _verbose
Larger cluster which determines cone must be at least this long.
void SetVerbose(bool verbosity)
Set Verbosity of messages.
size_t _NhitsMin
Conversion factors ogtten from GeometryUtilities.
static QStrList * l
Definition: config.cpp:1044
void SetMinHits(size_t n)
Set Minimum number of hits for cone-cluster.
double _lenMin
Larger cluster which determines cone must have this many hits.
static const double deg
Definition: Units.h:167
void SetLengthReach(double frac)
Set Length Reach: How for out the cone extends as percent of cluster length.
double _lengthReach
Two clusters must have direction within this value of each other.
std::void_t< T > n
void SetDebug(bool debug)
Set Debug for messages.
void SetMinLen(double l)
Set Minimum number of hits for cone-cluster.
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)
Merging Algorithm is Here.
CBAlgoStartInCone()
Default constructor.
Definition: cfalgo.cc:3
virtual ~CBAlgoStartInCone()
Default destructor.
void reconfigure()
Method to re-configure the instance.