CPAlgoIgnoreTracks.h
Go to the documentation of this file.
1 /**
2  * \file CPAlgoIgnoreTracks.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CPAlgoIgnoreTracks
7  *
8  * @author davidkaleko
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CPALGOIGNORETRACKS_H
15 #define RECOTOOL_CPALGOIGNORETRACKS_H
16 
18 
19 #include "RtypesCore.h"
20 
21 namespace cmtool {
22  /**
23  \class CPAlgoIgnoreTracks
24  User implementation for CPriorityAlgoBase class
25  doxygen documentation!
26  */
28 
29  public:
30 
31  /// Default constructor
33 
34  /// Default destructor
35  virtual ~CPAlgoIgnoreTracks(){};
36 
37  //
38  // Author should be aware of 3 functions at least: Priority, Report,
39  // and Reset. More possibly-useful functions can be found in the later
40  // part but commented out. All of these functions are virtual and defined
41  // in the base class.
42 
43  /**
44  Core function: given the CPAN input, return a float which indicates
45  the user-defined priority for analysis.
46  */
47  virtual float Priority(const ::cluster::ClusterParamsAlg &cluster);
48 
49  /**
50  Optional function: called after each iterative approach if a manager class is
51  run with verbosity level <= kPerIteration. Maybe useful for debugging.
52  */
53  virtual void Report();
54 
55  /// Function to reset the algorithm instance, called together with manager's Reset()
56  virtual void Reset();
57 
58  /**
59  Optional function: called at the beginning of 1st iteration. This is called per event.
60  */
61  //virtual void EventBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
62 
63  /**
64  Optional function: called at the end of event ... after the last merging iteration is over.
65  */
66  //virtual void EventEnd();
67 
68  /**
69  Optional function: called at the beggining of each iterative loop.
70  This provides all clusters' information in case the algorithm need them. Note this
71  is called per iteration which may be more than once per event.
72  */
73  //virtual void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
74 
75  /**
76  Optional function: called at the end of each iterative loop.
77  */
78  //virtual void IterationEnd();
79 
80  /// Function to check if cluster is a track
81  bool IsTrack(const ::cluster::ClusterParamsAlg &cluster);
82 
83  /// Setter for track-like parameters
84  void SetMinHits(size_t BAKA) { _min_hits = BAKA; }
85  void SetMinModHitDens(Double_t AHO) { _min_mod_hit_dens = AHO; }
86  void SetMinMHitWires(Double_t BOKE) { _min_multihit_wires = BOKE; }
87  void SetMinPrincipal(Double_t HEKOKI) { _min_principal = HEKOKI; }
88 
89 
90  protected:
91 
92  size_t _min_hits;
95  Double_t _min_principal;
96 
97  };
98 }
99 #endif
100 /** @} */ // end of doxygen group
bool IsTrack(const ::cluster::ClusterParamsAlg &cluster)
Function to check if cluster is a track.
void SetMinModHitDens(Double_t AHO)
Cluster finding and building.
void SetMinMHitWires(Double_t BOKE)
Class def header for a class CPriorityAlgoBase.
CPAlgoIgnoreTracks()
Default constructor.
void SetMinPrincipal(Double_t HEKOKI)
void SetMinHits(size_t BAKA)
Setter for track-like parameters.
virtual float Priority(const ::cluster::ClusterParamsAlg &cluster)
virtual ~CPAlgoIgnoreTracks()
Default destructor.
virtual void Reset()
Function to reset the algorithm instance, called together with manager&#39;s Reset()