00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _MinuitMigrad_H_ 00015 #define _MinuitMigrad_H_ 00016 00017 #include "Fitter.h" 00018 00019 class MnMigrad; 00020 00033 class MDL_HIPPOPLOT_API MinuitMigrad : public Fitter 00034 { 00035 00036 private: 00037 00040 MinuitMigrad ( const MinuitMigrad & ); 00041 00047 MnMigrad * m_minimizer; 00048 00051 void initialize (); 00052 00055 void checkIndex ( unsigned int index ); 00056 00057 public: 00058 00060 MinuitMigrad ( const char * name ); 00061 00062 virtual Fitter * clone () const; 00063 00067 virtual bool needsDerivatives () const; 00068 00071 virtual void setLimits ( unsigned int i, double lower, double upper ); 00072 00075 virtual void setStepSize ( unsigned int i, double size ); 00076 00079 virtual bool calcBestFit (); 00080 00082 virtual int calcCovariance ( std::vector< std::vector < double > >& cov ); 00083 00084 }; 00085 00086 #endif // _MinuitMigrad_H_