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, double binsize);
00051 
00054         QError Fit(const QVector& data, double error, double minfit, double maxfit, double binsize);
00055 
00061         QError Fit(const QVector& data, const QVector& errors, double minfit, double maxfit, double binsize);
00062 
00064         QMathFunction GetFittedFunction();
00065 
00067         QVector& GetResiduals() {return fResiduals;}
00068 
00070         double GetChiSquare() {return fChiSquare;}
00071 
00073         void SetTF1(TF1& f1);
00074 
00075     private:
00076 
00078         static double RootRoutine(double* x, double* params);
00079 
00081         static const QMathFunction* fFunctionP;
00082 
00083         double* fParMin;
00084         double* fParMax;
00085         double* fParErr;
00086         bool* fIsFixed;
00087 
00088         QVector fResiduals;
00089         QVector fErrors;
00090         double fChiSquare;
00091 
00092 };
00093 
00094 Q_END_NAMESPACE
00095 
00096 #endif

Generated on Tue Nov 16 10:49:56 2010 for CUORE Software by  doxygen 1.5.6