CMS 3D CMS Logo

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 
12  virtual ~AnnealingSchedule() {};
13  virtual void anneal() = 0; //< One annealing step.
14  virtual void resetAnnealing() = 0;
15 
19  virtual double phi ( double chi2 ) const = 0;
20 
24  virtual double weight ( double chi2 ) const = 0;
25 
29  // double weight ( double chi2, const vector < double > & chi2s ) const;
30 
34  virtual bool isAnnealed() const = 0;
35 
36  virtual double cutoff() const = 0;
37  virtual double currentTemp() const = 0;
38  virtual double initialTemp() const = 0;
39 
40  virtual void debug() const = 0;
41 
42  virtual AnnealingSchedule * clone() const = 0;
43 };
44 
45 #endif
virtual double initialTemp() const =0
virtual double weight(double chi2) const =0
virtual bool isAnnealed() const =0
virtual double phi(double chi2) const =0
virtual double cutoff() const =0
virtual double currentTemp() const =0
virtual AnnealingSchedule * clone() const =0
virtual void debug() const =0
virtual ~AnnealingSchedule()
virtual void anneal()=0
virtual void resetAnnealing()=0