All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CFAlgoZOverlap.h
Go to the documentation of this file.
1 /**
2  * \file CFAlgoZOverlap.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CFAlgoZOverlap
7  *
8  * @author ah673
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CFALGOZOVERLAP_H
15 #define RECOTOOL_CFALGOZOVERLAP_H
16 
18 
19 namespace cmtool {
20  /**
21  \class CFAlgoZOverlap
22  User implementation for CFloatAlgoBase class
23  doxygen documentation!
24  */
25  class CFAlgoZOverlap : public CFloatAlgoBase {
26 
27  public:
28  /// Default constructor
30 
31  //
32  // Author should be aware of 3 functions at least: Float, Report,
33  // and Reset. More possibly-useful functions can be found in the later
34  // part but commented out. All of these functions are virtual and defined
35  // in the base class.
36 
37  /**
38  Core function: given a set of CPANs, return a float which indicates
39  the compatibility the cluster combination.
40  */
41  float Float(util::GeometryUtilities const&,
42  const std::vector<const cluster::ClusterParamsAlg*>& clusters) override;
43 
44  /**
45  Optional function: called after each iterative approach if a manager class is
46  run with verbosity level <= kPerIteration. Maybe useful for debugging.
47  */
48  void Report() override;
49 
50  /// Function to reset the algorithm instance, called together with manager's Reset()
51  void Reset() override;
52 
53  /**
54  Optional function: called at the beginning of 1st iteration. This is called per event.
55  */
56  //void EventBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
57 
58  /**
59  Optional function: called at the end of event ... after the last merging iteration is over.
60  */
61  //void EventEnd();
62 
63  /**
64  Optional function: called at the beggining of each iterative loop.
65  This provides all clusters' information in case the algorithm need them. Note this
66  is called per iteration which may be more than once per event.
67  */
68  //void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
69 
70  /**
71  Optional function: called at the end of each iterative loop.
72  */
73  //void IterationEnd();
74 
75  protected:
77  };
78 }
79 #endif
80 /** @} */ // end of doxygen group
Class def header for a class CFloatAlgoBase.
void Reset() override
Function to reset the algorithm instance, called together with manager&#39;s Reset()
CFAlgoZOverlap()
Default constructor.
float Float(util::GeometryUtilities const &, const std::vector< const cluster::ClusterParamsAlg * > &clusters) override