7 #ifndef Tomato_OXFITTER_H     8 #define Tomato_OXFITTER_H    21     template< 
typename MeasureType >
    33         virtual MeasureType *getParameters() { 
return _Parameters; }
    34         virtual MeasureType getMse()
 const {
    35             return _Model->calcCostValue(_Parameters) / _Model->getNSamples();
    37         virtual const MeasureType getXTolerance()
 const { 
return _XTolerance; }
    38         virtual const MeasureType getFTolerance()
 const { 
return _FTolerance; }
    39         virtual const bool getUseGradient()
 const { 
return _UseGradient; }
    40         virtual const unsigned int getMaxFunctionEvals()
 const { 
return _MaxFunctionEvals; }
    41         virtual const unsigned int getThreadId()
 const { 
return _ThreadId; }
    42         virtual const bool getVerbose()
 const { 
return _Verbose; }
    43         virtual const bool getTrace()
 const { 
return _Trace; }
    46         virtual void setParameters( MeasureType *_Parameters) { Fitter::_Parameters = _Parameters; }
    47         virtual void setMse(MeasureType mse) { _Mse = mse; }
    48         virtual void setXTolerance(
const MeasureType _XTolerance) { Fitter::_XTolerance = _XTolerance; }
    49         virtual void setUseGradient(
const bool _UseGradient) { Fitter::_UseGradient = _UseGradient; }
    50         virtual void setFTolerance(
const MeasureType _FTolerance) { Fitter::_FTolerance = _FTolerance; }
    51         virtual void setMaxFunctionEvals(
const unsigned int _MaxFunctionEvals) { Fitter::_MaxFunctionEvals = _MaxFunctionEvals; }
    52         virtual void setThreadId(
const unsigned int _ThreadId) { Fitter::_ThreadId = _ThreadId; }
    53         virtual void setVerbose(
const bool _Verbose) { Fitter::_Verbose = _Verbose; }
    54         virtual void setTrace(
const bool _Trace) { Fitter::_Trace = _Trace; }
    61             if (!Fitter::_Model) {
    62                 throw std::runtime_error(
"_Model equals 0. Set _Model");
    66                 throw std::runtime_error(
"_Parameters equals 0. Set _Parameters");
    69             for (
int i = 0; i < Fitter::_Model->getNDims(); ++i) {
    70                 _Parameters[i] = ptrFrom[i];
    78             std::cout << 
"\nYou called disp() on a Fitter object " << 
this << 
"\n";
    79             std::cout << 
"XTolerance:       " << getXTolerance() << std::endl;
    80             std::cout << 
"FTolerance:       " << getFTolerance() << std::endl;
    81             std::string temp = getUseGradient() ? 
"true" : 
"false";
    82             std::cout << 
"UseGradient       " << temp << std::endl;
    83             std::cout << 
"MaxFunctionEvals: " << getMaxFunctionEvals() << std::endl;
    84             std::cout << 
"ThreadId:         " << getThreadId() << std::endl;
    86                 KWUtil::printArray(_Parameters != 0, _Model->getNDims(), _Parameters, (
char*)
"\nParameters:  ");
    87                 std::cout << 
"This Fitter contains the following Model object: ";
   102             _MaxFunctionEvals = 4000;
   103             _UseGradient = 
false;
   118             _XTolerance = old._XTolerance;
   119             _FTolerance = old._FTolerance;
   120             _MaxFunctionEvals = old._MaxFunctionEvals;
   121             _UseGradient = old._UseGradient;
   122             _ThreadId = old._ThreadId;
   123             _Verbose = old._Verbose;
   141         MeasureType* _Parameters;
   144         MeasureType _XTolerance;
   145         MeasureType _FTolerance;
   146         int _MaxFunctionEvals;
   148         unsigned int _ThreadId;
   155 #endif //Tomato_OXFITTER_H virtual ~Fitter()
do not forget about the virtual destructor, see https://stackoverflow.com/questions/461203/when-to-us...
Definition: OxFitter.h:137
 
Container for a model function, cost function and Least-Squares function. And derivatives. 
Definition: OxModel.h:26
 
Fitter()
constructor 
Definition: OxFitter.h:95
 
virtual int performFitting()=0
 
virtual void copyToParameters(const MeasureType *ptrFrom)
Definition: OxFitter.h:60
 
Fitter(const Fitter &old)
Definition: OxFitter.h:113
 
virtual void disp()
show me your Fitter 
Definition: OxFitter.h:77
 
virtual Fitter< MeasureType > * newByCloning()=0
 
Definition: OxFitter.h:22
 
Definition: OxCalculator.h:19