cbalgo.hh
Go to the documentation of this file.
1 /**
2  * \file CBAlgo_Class_Name.hh
3  *
4  * \ingroup Working_Package
5  *
6  * \brief Class def header for a class CBAlgo_Class_Name
7  *
8  * @author USER_NAME
9  */
10 
11 /** \addtogroup Working_Package
12 
13  @{*/
14 #ifndef CBALGO_CLASS_NAME_HH
15 #define CBALGO_CLASS_NAME_HH
16 
17 #include "CBoolAlgoBase.hh"
18 
19 namespace cmtool {
20  /**
21  \class CBAlgo_Class_Name
22  User implementation for CBoolAlgoBase class
23  doxygen documentation!
24  */
26 
27  public:
28 
29  /// Default constructor
31 
32  /// Default destructor
33  virtual ~CBAlgo_Class_Name(){};
34 
35  //
36  // Author should be aware of 3 functions at least: Bool, Report,
37  // and Reset. More possibly-useful functions can be found in the later
38  // part but commented out. All of these functions are virtual and defined
39  // in the base class.
40 
41  /**
42  Core function: given two CPAN inputs, return a boolean which indicates
43  whether two clusters are compatible or not
44  */
45  virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1,
46  const ::cluster::ClusterParamsAlg &cluster2);
47 
48  /**
49  Optional function: called after each iterative approach if a manager class is
50  run with verbosity level <= kPerIteration. Maybe useful for debugging.
51  */
52  virtual void Report();
53 
54  /// Function to reset the algorithm instance, called together with manager's Reset()
55  virtual void Reset();
56 
57  /**
58  Optional function: called at the beginning of 1st iteration. This is called per event.
59  */
60  //virtual void EventBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
61 
62  /**
63  Optional function: called at the end of event ... after the last merging iteration is over.
64  */
65  //virtual void EventEnd();
66 
67  /**
68  Optional function: called at the beggining of each iterative loop.
69  This provides all clusters' information in case the algorithm need them. Note this
70  is called per iteration which may be more than once per event.
71  */
72  //virtual void IterationBegin(const std::vector<cluster::ClusterParamsAlg> &clusters);
73 
74  /**
75  Optional function: called at the end of each iterative loop.
76  */
77  //virtual void IterationEnd();
78 
79  };
80 }
81 #endif
82 /** @} */ // end of doxygen group
83 
CBAlgo_Class_Name()
Default constructor.
Definition: cbalgo.cc:6
virtual void Report()
Definition: cbalgo.cc:29
virtual void Reset()
Function to reset the algorithm instance, called together with manager&#39;s Reset()
Definition: cbalgo.cc:13
virtual ~CBAlgo_Class_Name()
Default destructor.
Definition: cbalgo.hh:33
virtual bool Bool(const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2)
Definition: cbalgo.cc:20
Definition: cfalgo.cc:3