00001 //----------------------------------------------------------------------- 00002 //---------------------------------------------------------------------- 00003 // File PulseFitWithShape.h 00004 00005 #ifndef PulseFitWithShape_H 00006 #define PulseFitWithShape_H 00007 #include "TObject.h" 00008 #include<vector> 00009 00010 class PulseFitWithShape: public TObject 00011 { 00012 public: 00013 // Default Constructor, mainly for Root 00014 PulseFitWithShape() ; 00015 00016 // Destructor: Does nothing 00017 virtual ~PulseFitWithShape() ; 00018 00019 // Initialize 00020 virtual void init(int,int,int,int,int,std::vector <double>,double) ; 00021 00022 // Compute amplitude of a channel 00023 00024 virtual double doFit(double *,double *cova=0) ; 00025 00026 double fAmp_fitted_max ; // amplitude maximum fitted 00027 double fTim_fitted_max ; // time of amplitude maximum fitted 00028 00029 double getAmpl() { return fAmp_fitted_max; } 00030 double getTime() { return fTim_fitted_max; } 00031 00032 00033 private: 00034 00035 int fNsamples ; // maximum number of samples into framelegth 00036 int fNsamplesShape ; // maximum number of samples into framelegth 00037 double fNoise; 00038 00039 std::vector < double > pshape; 00040 std::vector < double > dshape; 00041 00042 int fNb_iter ; // maximum number of iterations 00043 int fNum_samp_bef_max ; // number of samples before maximum sample 00044 int fNum_samp_after_max ; // number of samples after maximum sample 00045 00046 00047 // ClassDef(PulseFitWithShape,1) //!< The processed part of the class is persistant 00048 00049 } ; 00050 00051 #endif 00052 00053 00054 00055 //----------------------------------------------------------------------- 00056 //----------------------------------------------------------------------