| 1 | #ifndef _MININIZERPARAMETERSET_H_ | 
| 2 | #define _MININIZERPARAMETERSET_H_ | 
| 3 |  | 
| 4 | // base class of minimizer's parameter set | 
| 5 | class MinimizerParameterSet{ | 
| 6 | public: | 
| 7 | MinimizerParameterSet(int dim); | 
| 8 |  | 
| 9 | virtual void setDefaultParameter(); | 
| 10 |  | 
| 11 | void setMaxIteration(int iteration) { maxIteration = iteration;} | 
| 12 | int getMaxIteration() { return maxIteration;} | 
| 13 |  | 
| 14 | void setStepSize(double step) { stepSize = step;} | 
| 15 | double getStepSize() { return stepSize;} | 
| 16 |  | 
| 17 | void setMaxStep(double step) { maxStep = step;} | 
| 18 | double getMaxStep() {return maxStep;} | 
| 19 |  | 
| 20 | void setAbsGradTol(double tol) {absGradTol = tol;} | 
| 21 | double getAbsGradTol() {return absGradTol;} | 
| 22 |  | 
| 23 | void setAchGradTol(double tol) { absAchGradTol = tol;} | 
| 24 | double getAchGradTol() { return achGradTol;} | 
| 25 |  | 
| 26 | void setAbsTol(vector<double>& tol) { absTol = tol;} | 
| 27 | vector<double> getAbsTol() { return absTol;} | 
| 28 |  | 
| 29 | void setRelTol(vector<double> tol) { relTol = tol;} | 
| 30 | vector<double> getRelTol() { return relTol;} | 
| 31 |  | 
| 32 | void setTotTol(vector<double>& tol) { totTol = tol;} | 
| 33 | vector<double> getTotTol() { return totTol;} | 
| 34 |  | 
| 35 | protected: | 
| 36 |  | 
| 37 | int maxIteration; | 
| 38 |  | 
| 39 | double stepSize; | 
| 40 |  | 
| 41 | // Name of minimizer | 
| 42 | string methodName; | 
| 43 |  | 
| 44 | // Absolute gradient tolerance | 
| 45 | double absGradTol; | 
| 46 |  | 
| 47 | // Achieved gradient tolerance. | 
| 48 | double  achGradTol; | 
| 49 |  | 
| 50 | // Absolute tolerance | 
| 51 | vector<double> absTol; | 
| 52 |  | 
| 53 | // Relative tolerance | 
| 54 | vector<double> relTol; | 
| 55 |  | 
| 56 | // Total specified tolerance at convergence | 
| 57 | vector<double> totTol; | 
| 58 |  | 
| 59 | // Tolerance achieved at convergence. | 
| 60 | vector<double> achTol; | 
| 61 |  | 
| 62 | }; | 
| 63 |  | 
| 64 |  | 
| 65 | #endif |