CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AnnealingSchedule.h
Go to the documentation of this file.
1 #ifndef AnnealingSchedule_H
2 #define AnnealingSchedule_H
3 
4 #include <vector>
5 
10 public:
11  virtual ~AnnealingSchedule(){};
12  virtual void anneal() = 0; //< One annealing step.
13  virtual void resetAnnealing() = 0;
14 
18  virtual double phi(double chi2) const = 0;
19 
23  virtual double weight(double chi2) const = 0;
24 
28  // double weight ( double chi2, const vector < double > & chi2s ) const;
29 
33  virtual bool isAnnealed() const = 0;
34 
35  virtual double cutoff() const = 0;
36  virtual double currentTemp() const = 0;
37  virtual double initialTemp() const = 0;
38 
39  virtual void debug() const = 0;
40 
41  virtual AnnealingSchedule* clone() const = 0;
42 };
43 
44 #endif
virtual bool isAnnealed() const =0
virtual AnnealingSchedule * clone() const =0
virtual double initialTemp() const =0
virtual double phi(double chi2) const =0
virtual void debug() const =0
virtual double currentTemp() const =0
virtual ~AnnealingSchedule()
virtual void anneal()=0
virtual void resetAnnealing()=0
virtual double cutoff() const =0
virtual double weight(double chi2) const =0