11 #ifndef ROOT_TSpectrum3
12 #define ROOT_TSpectrum3
18 class TSpectrum3 :
public TNamed {
31 kBackIncreasingWindow =0,
32 kBackDecreasingWindow =1,
33 kBackSuccessiveFiltering =0,
34 kBackOneStepFiltering =1
38 TSpectrum3(Int_t maxpositions, Double_t resolution=1);
39 virtual ~TSpectrum3();
40 virtual const char *Background(
const TH1 *hist, Int_t niter, Option_t *option=
"goff");
41 const char *Background(Double_t ***spectrum, Int_t ssizex, Int_t ssizey, Int_t ssizez, Int_t numberIterationsX,Int_t numberIterationsY, Int_t numberIterationsZ, Int_t direction,Int_t filterType);
42 const char *Deconvolution(Double_t ***source,
const Double_t ***resp, Int_t ssizex, Int_t ssizey, Int_t ssizez,Int_t numberIterations, Int_t numberRepetitions, Double_t boost);
43 TH1 *GetHistogram()
const {
return fHistogram;}
44 Int_t GetNPeaks()
const {
return fNPeaks;}
45 Double_t *GetPositionX()
const {
return fPositionX;}
46 Double_t *GetPositionY()
const {
return fPositionY;}
47 Double_t *GetPositionZ()
const {
return fPositionZ;}
48 virtual void Print(Option_t *option=
"")
const;
49 virtual Int_t Search(
const TH1 *hist, Double_t sigma=2, Option_t *option=
"goff", Double_t threshold=0.05);
50 Int_t SearchFast(
const Double_t ***source, Double_t ***dest, Int_t ssizex, Int_t ssizey, Int_t ssizez, Double_t sigma, Double_t threshold, Bool_t markov, Int_t averWindow);
51 Int_t SearchHighRes(
const Double_t ***source,Double_t ***dest, Int_t ssizex, Int_t ssizey, Int_t ssizez, Double_t sigma, Double_t threshold, Bool_t backgroundRemove,Int_t deconIterations, Bool_t markov, Int_t averWindow);
52 void SetResolution(Double_t resolution=1);
53 const char *SmoothMarkov(Double_t ***source, Int_t ssizex, Int_t ssizey, Int_t ssizez, Int_t averWindow);
55 ClassDef(TSpectrum3,1)