| 6 |
|
class Minimizer : public MinimizerBase{ |
| 7 |
|
|
| 8 |
|
public: |
| 9 |
< |
Minimizer(MinimizerParameterSet* param) {paramSet = param;} |
| 9 |
> |
Minimizer(MinimizerParameterSet* param) : paramSet(param), outputFunc(NULL) {} |
| 10 |
|
|
| 11 |
|
virtual void printMinizerInfo() = 0; |
| 12 |
|
void init() {} |
| 13 |
+ |
|
| 14 |
+ |
|
| 15 |
+ |
void setOutputFunctor(OutputFunctor* functor) {outputFunc = functor;} |
| 16 |
+ |
virtual void writeOut(vector<double>& x, int iter){ |
| 17 |
+ |
if (outputFunc !=NULL) |
| 18 |
+ |
(*outputFunc)(x, iter); |
| 19 |
+ |
} |
| 20 |
+ |
|
| 21 |
|
void setMinX(vector<double>& x) { minX = x;} |
| 22 |
|
vector<double> getMinX() { return minX;} |
| 23 |
|
|
| 29 |
|
protected: |
| 30 |
|
|
| 31 |
|
MinimizerParameterSet* paramSet; |
| 32 |
+ |
OutputFunctor* outputFunc; |
| 33 |
|
int currentIter; |
| 34 |
|
|
| 35 |
|
// Coordinates yielding the minimum value of the function. |