TSpectrum


class description - source file - inheritance tree

class TSpectrum : public TNamed


    public:
TSpectrum TSpectrum() TSpectrum TSpectrum(Int_t maxpositions, Float_t resolution = 1) TSpectrum TSpectrum(TSpectrum&) virtual void ~TSpectrum() virtual const char* Background(TH1* hist, int niter, Option_t* option = "goff") const virtual const char* Background1(float* spectrum, int size, int niter) const virtual const char* Background2(float** spectrum, int sizex, int sizey, int niter) const static TClass* Class() virtual const char* Deconvolution1(float* source, float* resp, int size, int niter) const virtual const char* Deconvolution2(float** source, float** resp, int sizex, int sizey, int niter) const virtual TH1* GetHistogram() const virtual Int_t GetNPeaks() const virtual Float_t* GetPositionX() const virtual Float_t* GetPositionY() const virtual TClass* IsA() const virtual int PeakEvaluate(double* temp, int size, int xmax, double xmin) virtual Int_t Search(TH1* hist, Double_t sigma, Option_t* option = "goff") virtual Int_t Search1(float* spectrum, int size, double sigma) virtual Int_t Search2(float** source, int sizex, int sizey, double sigma) virtual void SetResolution(Float_t resolution = 1) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Int_t fMaxPeaks Maximum number of peaks to be found Int_t fNPeaks number of peaks found Float_t* fPosition !array of current peak positions Float_t* fPositionX !X position of peaks Float_t* fPositionY !Y position of peaks Float_t fResolution resolution of the neighboring peaks TH1* fHistogram resulting histogram

Class Description

   THIS CLASS CONTAINS ADVANCED SPECTRA PROCESSING FUNCTIONS.            
                                                                         
   ONE-DIMENSIONAL BACKGROUND ESTIMATION FUNCTION                        
   TWO-DIMENSIONAL BACKGROUND ESTIMATION FUNCTION                        
   ONE-DIMENSIONAL DECONVOLUTION FUNCTION                                
   TWO-DIMENSIONAL DECONVOLUTION FUNCTION                                
   ONE-DIMENSIONAL PEAK SEARCH FUNCTION                                  
   TWO-DIMENSIONAL PEAK SEARCH FUNCTION                                  
                                                                         
   These functions were written by:                                      
   Miroslav Morhac                                                       
   Institute of Physics                                                  
   Slovak Academy of Sciences                                            
   Dubravska cesta 9, 842 28 BRATISLAVA                                  
   SLOVAKIA                                                              
                                                                         
   email:fyzimiro@savba.sk,    fax:+421 7 54772479                       
                                                                         
  The original code in C has been repackaged as a C++ class by R.Brun    //                        
                                                                         
  The algorithms in this class have been published at the following      
  references:                                                            
   [1]  M.Morhac et al.: Background elimination methods for              
   multidimensional coincidence gamma-ray spectra. Nuclear               
   Instruments and Methods in Physics Research A 401 (1997) 113-         
   132.                                                                  
                                                                         
   [2]  M.Morhac et al.: Efficient one- and two-dimensional Gold         
   deconvolution and its application to gamma-ray spectra                
   decomposition. Nuclear Instruments and Methods in Physics             
   Research A 401 (1997) 385-408.                                        
                                                                         
   [3]  M.Morhac et al.: Identification of peaks in multidimensional     
   coincidence gamma-ray spectra. Submitted for publication in           
   Nuclear Instruments and Methods in Physics Research A.                
                                                                         
   These NIM papers are also available as Postscript files from:         

/*
   ftp://root.cern.ch/root/SpectrumDec.ps.gz
   ftp://root.cern.ch/root/SpectrumSrc.ps.gz
   ftp://root.cern.ch/root/SpectrumBck.ps.gz
*/



TSpectrum() :TNamed("Spectrum","Miroslav Morhac peak finder")

TSpectrum(Int_t maxpositions, Float_t resolution) :TNamed("Spectrum","Miroslav Morhac peak finder")
  maxpositions:  maximum number of peaks
  resolution:    determines resolution of the neighboring peaks
                 default value is 1 correspond to 3 sigma distance
                 between peaks. Higher values allow higher resolution
                 (smaller distance between peaks.
                 May be set later through SetResolution.

~TSpectrum()

const char* Background(TH1 *h,int number_of_iterations, Option_t *option)
   ONE-DIMENSIONAL BACKGROUND ESTIMATION FUNCTION                        
   This function calculates background spectrum from source in h.        
   The result is placed in the vector pointed by spectrum pointer.       
                                                                         
   Function parameters:                                                  
   spectrum:  pointer to the vector of source spectrum                   
   size:      length of spectrum and working space vectors               
   number_of_iterations, for details we refer to manual                  
                                                                         


const char* Background1(float *spectrum,int size,int number_of_iterations)
   ONE-DIMENSIONAL BACKGROUND ESTIMATION FUNCTION                        
   This function calculates background spectrum from source spectrum.    
   The result is placed in the vector pointed by spectrum pointer.       
                                                                         
   Function parameters:                                                  
   spectrum:  pointer to the vector of source spectrum                   
   size:      length of spectrum and working space vectors               
   number_of_iterations, for details we refer to manual                  
                                                                         


const char* Background2(float **spectrum,int sizex,int sizey,int number_of_iterations)
   TWO-DIMENSIONAL BACKGROUND ESTIMATION FUNCTION                        
   This function calculates background spectrum from source spectrum.    
   The result is placed to the array pointed by spectrum pointer.        
                                                                         
   Function parameters:                                                  
   spectrum:  pointer to the array of source spectrum                    
   sizex:     x length of spectrum and working space arrays              
   sizey:     y length of spectrum and working space arrays              
   number_of_iterations, for details we refer to manual                  
                                                                         


const char* Deconvolution1(float *source,float *resp,int size,int number_of_iterations)
   ONE-DIMENSIONAL DECONVOLUTION FUNCTION                                
   This function calculates deconvolution from source spectrum           
   according to response spectrum                                        
   The result is placed in the vector pointed by source pointer.         
                                                                         
   Function parameters:                                                  
   source:  pointer to the vector of source spectrum                     
   res:     pointer to the vector of response spectrum                   
   size:    length of source and response spectra                        
   number_of_iterations, for details we refer to manual                  
                                                                         


const char* Deconvolution2(float** source,float** resp,int sizex,int sizey,int number_of_iterations)
   TWO-DIMENSIONAL DECONVOLUTION FUNCTION                                
   This function calculates deconvolution from source spectrum           
   according to response spectrum                                        
   The result is placed in the matrix pointed by source pointer.         
                                                                         
   Function parameters:                                                  
   source:  pointer to the matrix of source spectrum                     
   resp:    pointer to the matrix of response spectrum                   
   sizex:   x length of source and response spectra                      
   sizey:   y length of source and response spectra                      
   number_of_iterations, for details we refer to manual                  
                                                                         


Int_t Search(TH1 *hin, Double_t sigma, Option_t *option)
   ONE-DIMENSIONAL PEAK SEARCH FUNCTION                                  
   This function searches for peaks in source spectrum in hin            
   The number of found peaks and their positions are written into        
   the members fNpeaks and fPositionX.                                   
                                                                         
   Function parameters:                                                  
   hin:       pointer to the histogram of source spectrum                
   sigma:   sigma of searched peaks, for details we refer to manual      
                                                                         
   if option is not equal to "goff" (goff is the default), then          
   a polymarker object is created and added to the list of functions of  
   the histogram. The histogram is drawn with the specified option and   
   the polymarker object drawn on top of the histogram.                  
   The polymarker coordinates correspond to the npeaks peaks found in    
   the histogram.                                                        
   A pointer to the polymarker object can be retrieved later via:        
    TList *functions = hin->GetListOfFunctions();                        
    TPolyMarker *pm = (TPolyMarker*)functions->FindObject("TPolyMarker") 
                                                                         


Int_t Search1(float *spectrum,int size,double sigma)
   ONE-DIMENSIONAL PEAK SEARCH FUNCTION                                  
   This function searches for peaks in source spectrum                   
   The number of found peaks and their positions are written into        
   the members fNpeaks and fPositionX.                                   
                                                                         
   Function parameters:                                                  
   source:  pointer to the vector of source spectrum                     
   size:    length of source spectrum                                    
   sigma:   sigma of searched peaks, for details we refer to manual      
                                                                         


Int_t PeakEvaluate(double *temp,int size,int xmax,double xmin)

Int_t Search2(float **source,int sizex,int sizey,double sigma)
   TWO-DIMENSIONAL PEAK SEARCH FUNCTION                                  
   This function searches for peaks in source spectrum                   
   The number of found peaks and their positions are written into        
   the members fNPeaks, fPositionX and fPositionY.                       
                                                                         
   Function parameters:                                                  
   source:  pointer to the vector of source spectrum                     
   sizex:   x length of source spectrum                                  
   sizey:   y length of source spectrum                                  
   sigma:   sigma of searched peaks, for details we refer to manual      
                                                                         


void SetResolution(Float_t resolution)
  resolution: determines resolution of the neighboring peaks
              default value is 1 correspond to 3 sigma distance
              between peaks. Higher values allow higher resolution
              (smaller distance between peaks.
              May be set later through SetResolution.



Inline Functions


               TH1* GetHistogram() const
              Int_t GetNPeaks() const
           Float_t* GetPositionX() const
           Float_t* GetPositionY() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
          TSpectrum TSpectrum(TSpectrum&)


Author: Miroslav Morhac 27/05/99
Last update: root/hist:$Name: $:$Id: TSpectrum.cxx,v 1.7 2001/06/22 16:10:17 rdm Exp $


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.