QOTPulseShapeChiSquare.hh
Go to the documentation of this file.00001 #ifndef _QOTPULSESHAPECHISQUARE_HH_
00002 #define _QOTPULSESHAPECHISQUARE_HH_
00003
00010 #include "QError.hh"
00011 #include "QVector.hh"
00012 #include "QFitter.hh"
00013 #include <gsl/gsl_spline.h>
00014
00015 using namespace Cuore;
00016
00017 class TF1;
00018
00019 class QOTPulseShapeChiSquare {
00020 public:
00021 QOTPulseShapeChiSquare();
00022 QError Init(const QVector& filteredAVG, int size, double rms);
00023 double Fit(const QVector& input);
00024 TF1* GetFitFunction(){return fFitFunction;}
00025 static double AvgPulseFuncRoot(double* x, double* params);
00026
00027 private:
00028 int fSize;
00029 QFitter* fFitter;
00030 int fMaxDelay;
00031 double fDeltaY;
00032 double fRMS;
00033
00034 gsl_spline* fSpline;
00035 gsl_interp_accel* fSplineAcc;
00036 static gsl_spline* fStaticSpline;
00037 static gsl_interp_accel* fStaticSplineAcc;
00038 static double AvgPulseFunc(double x, double* params);
00039 TF1* fFitFunction;
00040
00041 };
00042
00043 #endif