11 #ifndef ROOT_TSpectrum2
12 #define ROOT_TSpectrum2
18 class TSpectrum2 :
public TNamed {
27 static Int_t fgAverageWindow;
28 static Int_t fgIterations;
32 kBackIncreasingWindow =0,
33 kBackDecreasingWindow =1,
34 kBackSuccessiveFiltering =0,
35 kBackOneStepFiltering =1
39 TSpectrum2(Int_t maxpositions, Double_t resolution=1);
40 virtual ~TSpectrum2();
41 virtual TH1 *Background(
const TH1 *hist, Int_t niter=20, Option_t *option=
"");
42 TH1 *GetHistogram()
const {
return fHistogram;}
43 Int_t GetNPeaks()
const {
return fNPeaks;}
44 Double_t *GetPositionX()
const {
return fPositionX;}
45 Double_t *GetPositionY()
const {
return fPositionY;}
46 virtual void Print(Option_t *option=
"")
const;
47 virtual Int_t Search(
const TH1 *hist, Double_t sigma=2, Option_t *option=
"", Double_t threshold=0.05);
48 static void SetAverageWindow(Int_t w=3);
49 static void SetDeconIterations(Int_t n=3);
50 void SetResolution(Double_t resolution=1);
53 const char *Background(Double_t **spectrum,Int_t ssizex, Int_t ssizey,Int_t numberIterationsX,Int_t numberIterationsY,Int_t direction,Int_t filterType);
54 const char *SmoothMarkov(Double_t **source, Int_t ssizex, Int_t ssizey, Int_t averWindow);
55 const char *Deconvolution(Double_t **source, Double_t **resp, Int_t ssizex, Int_t ssizey,Int_t numberIterations, Int_t numberRepetitions, Double_t boost);
56 Int_t SearchHighRes(Double_t **source,Double_t **dest, Int_t ssizex, Int_t ssizey, Double_t sigma, Double_t threshold, Bool_t backgroundRemove,Int_t deconIterations, Bool_t markov, Int_t averWindow);
58 static Int_t StaticSearch(
const TH1 *hist, Double_t sigma=2, Option_t *option=
"goff", Double_t threshold=0.05);
59 static TH1 *StaticBackground(
const TH1 *hist,Int_t niter=20, Option_t *option=
"");
61 ClassDef(TSpectrum2,1)