14 #ifndef TGO4FITPEAKFINDER_H
15 #define TGO4FITPEAKFINDER_H
42 TGo4FitPeakFinder(
const char* Name,
const char* DataName = 0, Bool_t ClearModels = kFALSE, Int_t PolOrder = -1);
57 void SetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth);
61 void SetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum);
99 virtual void Print(Option_t* option)
const;
119 Double_t AmplThreshold,
129 Int_t MaxNumPeaks = 50,
130 Int_t ChannelSum = 1,
131 Double_t NoiseFactor = 2.,
132 Double_t NoiseMinimum = 10.,
133 Int_t MinimasOrder = -1);
139 Double_t* weight = 0,
140 Double_t* backgr = 0,
143 static void DefinePolynomEx(Int_t size, Double_t* bins, Double_t* scales, Double_t* weight, Double_t* backgr,
144 Int_t lbound, Int_t rbound, TArrayD& Coef);
147 static Double_t
CalcPolynom(
const TArrayD& Coef, Double_t x);
172 #endif // TGO4FITPEAKFINDER_H
static void DefinePolynom(Int_t size, Double_t *bins, Double_t *scales, TArrayD &Coef, Double_t *weight=0, Double_t *backgr=0, Char_t *use=0)
void SetupForSecond(Double_t LineWidth)
virtual Bool_t CanChangeFitter() const
Int_t GetPeakFinderType() const
void Set2NoiseFactor(Double_t factor)
Double_t Get0MinWidth() const
void SetDataName(const char *name)
static void DefinePolynomEx(Int_t size, Double_t *bins, Double_t *scales, Double_t *weight, Double_t *backgr, Int_t lbound, Int_t rbound, TArrayD &Coef)
void SergeyLinevPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t PolOrder, Double_t AmplThreshold, Double_t MinWidth, Double_t MaxWidth)
void Set2NoiseMinimum(Double_t min)
void SetPeakFinderType(Int_t typ)
Bool_t GetUsePolynom() const
Double_t Get2NoiseMinimum() const
Int_t Get2ChannelSum() const
const char * GetDataName()
virtual void Print(Option_t *option) const
void Set0MaxWidth(Double_t max)
void Set0MaxAmplFactor(Double_t factor)
void SetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth)
void Set2ChannelSum(Int_t sum)
Double_t Get2NoiseFactor() const
virtual ~TGo4FitPeakFinder()
virtual void DoAction(TGo4FitterAbstract *Fitter)
void SetupPolynomialBackground(Int_t PolynomOrder)
Double_t Get1LineWidth() const
void SetUsePolynom(Bool_t use)
void SetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum)
Double_t fd0MaxAmplFactor
Double_t Get0MaxWidth() const
void Set1LineWidth(Double_t width)
void SetClearModels(Bool_t clear)
static Double_t CalcPolynom(const TArrayD &Coef, Double_t x)
Double_t Get0MaxAmplFactor() const
void ROOTPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t PolynomOrder, Double_t Sigma)
void SetPolynomOrder(Int_t order)
void HansEsselPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t MaxNumPeaks=50, Int_t ChannelSum=1, Double_t NoiseFactor=2., Double_t NoiseMinimum=10., Int_t MinimasOrder=-1)
void Set0MinWidth(Double_t min)
Int_t GetPolynomOrder() const