11 #ifndef ROOT_TSpectrum
12 #define ROOT_TSpectrum
18 class TSpectrum :
public TNamed {
21 TSpectrum(
const TSpectrum&);
22 TSpectrum& operator=(
const TSpectrum&);
32 static Int_t fgAverageWindow;
33 static Int_t fgIterations;
41 kBackIncreasingWindow =0,
42 kBackDecreasingWindow =1,
53 TSpectrum(Int_t maxpositions, Double_t resolution=1);
55 virtual TH1 *Background(
const TH1 *hist,Int_t niter=20, Option_t *option=
"");
56 TH1 *GetHistogram()
const {
return fHistogram;}
57 Int_t GetNPeaks()
const {
return fNPeaks;}
58 Double_t *GetPositionX()
const {
return fPositionX;}
59 Double_t *GetPositionY()
const {
return fPositionY;}
60 virtual void Print(Option_t *option=
"")
const;
61 virtual Int_t Search(
const TH1 *hist, Double_t sigma=2, Option_t *option=
"", Double_t threshold=0.05);
62 static void SetAverageWindow(Int_t w=3);
63 static void SetDeconIterations(Int_t n=3);
64 void SetResolution(Double_t resolution=1);
67 const char *Background(Double_t *spectrum, Int_t ssize,Int_t numberIterations,Int_t direction, Int_t filterOrder,
bool smoothing,Int_t smoothWindow,
bool compton);
68 const char *SmoothMarkov(Double_t *source, Int_t ssize, Int_t averWindow);
69 const char *Deconvolution(Double_t *source,
const Double_t *response,Int_t ssize, Int_t numberIterations,Int_t numberRepetitions, Double_t boost );
70 const char *DeconvolutionRL(Double_t *source,
const Double_t *response,Int_t ssize, Int_t numberIterations,Int_t numberRepetitions, Double_t boost );
71 const char *Unfolding(Double_t *source,
const Double_t **respMatrix,Int_t ssizex, Int_t ssizey,Int_t numberIterations,Int_t numberRepetitions, Double_t boost);
72 Int_t SearchHighRes(Double_t *source,Double_t *destVector, Int_t ssize,Double_t sigma, Double_t threshold,
bool backgroundRemove,Int_t deconIterations,
bool markov, Int_t averWindow);
73 Int_t Search1HighRes(Double_t *source,Double_t *destVector, Int_t ssize,Double_t sigma, Double_t threshold,
bool backgroundRemove,Int_t deconIterations,
bool markov, Int_t averWindow);
75 static Int_t StaticSearch(
const TH1 *hist, Double_t sigma=2, Option_t *option=
"goff", Double_t threshold=0.05);
76 static TH1 *StaticBackground(
const TH1 *hist,Int_t niter=20, Option_t *option=
"");