QFitter.hh

Go to the documentation of this file.
00001 #ifndef _Q_FITTER_HH_
00002 #define _Q_FITTER_HH_
00003 
00011 #include "QError.hh"
00012 #include "QCuore.hh"
00013 #include "QVector.hh"
00014 #include "QMathFunction.hh"
00015 
00016 Q_BEGIN_NAMESPACE
00017 
00018 class QFitter : public QMathFunction
00019 {
00020     public:
00021 
00023         QFitter(QRoutinePointer funcpointer, unsigned int NParameters, double LowBound, double UpBound);
00024         
00026         QFitter(const QMathFunction& func);
00027 
00029         ~QFitter();
00030         
00032         void SetParameter(unsigned int p, double val, double min, double max);
00033 
00035         void SetParameter(unsigned int p, const char* name, double val, double min, double max);
00036         
00038         void FixParameter(unsigned int p, double val);
00039         
00041         void FixParameter(unsigned int p, const char* name, double val);
00042 
00044         void Print();
00045 
00047         void PrintResult();
00048         
00050         QError Fit(const QVector& data, double minfit, double maxfit);
00051 
00054         QError Fit(const QVector& data, double error, double minfit, double maxfit);
00055 
00063         QError Fit(const QVector& data, const QVector& errors, double minfit, double maxfit, double eqlenght = -1);
00064 
00066         QMathFunction GetFittedFunction();
00067 
00069         QVector& GetResiduals() {return fResiduals;}
00070 
00072         double GetChiSquare() {return fChiSquare;}
00073 
00075         void SetTF1(TF1& f1);
00076 
00077     private:
00078 
00080         static double RootRoutine(double* x, double* params);
00081 
00083         static const QMathFunction* fFunctionP;
00084 
00085         double* fParMin;
00086         double* fParMax;
00087         double* fParErr;
00088         bool* fIsFixed;
00089 
00090         QVector fResiduals;
00091         QVector fErrors;
00092         double fChiSquare;
00093 
00094 };
00095 
00096 Q_END_NAMESPACE
00097 
00098 #endif

Generated on Fri Mar 6 13:40:39 2009 for CUORE Software by  doxygen 1.5.1