TSpectrum2
class description - source file - inheritance tree
public:
TSpectrum2()
TSpectrum2(Int_t maxpositions, Float_t resolution = 1)
TSpectrum2(const TSpectrum2&)
virtual ~TSpectrum2()
virtual const char* Background(TH1* hist, int niter, const Option_t* option = "goff") const
const char* Background2(float** spectrum, int sizex, int sizey, int niter) const
const char* Background2NonlinearRidges(float** spectrum, int sizex, int sizey, int number_of_iterations_x, int number_of_iterations_y, int direction, int filter_order) const
const char* Background2RectangularRidges(float** spectrum, int sizex, int sizey, int number_of_iterations_x, int number_of_iterations_y, int direction, int filter_order, int filter_type) const
const char* Background2RectangularRidgesX(float** spectrum, int sizex, int sizey, int number_of_iterations, int direction, int filter_order) const
const char* Background2RectangularRidgesY(float** spectrum, int sizex, int sizey, int number_of_iterations, int direction, int filter_order) const
const char* Background2SkewRidges(float** spectrum, int sizex, int sizey, int number_of_iterations_x, int number_of_iterations_y, int direction, int filter_order) const
void BitReverse(float* working_space, int num)
void BitReverseHaar(float* working_space, int shift, int num, int start)
static TClass* Class()
void DecFourier2(double* working_space, int num, int iter, int inv)
const char* Deconvolution2(float** source, const float** resp, int sizex, int sizey, int niter) const
const char* Deconvolution2HighResolution(float** source, const float** resp, int sizex, int sizey, int number_of_iterations, int number_of_repetitions, double boost) const
double Deramp2(double x, double y, double x0, double y0, double sigmax, double sigmay, double ro, double txy, double sxy, double bx, double by)
double Derampx(double x, double x0, double sigmax, double tx, double sx, double bx)
double Derbx(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double txy, double tx, double bx, double by)
double Derby(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double txy, double ty, double bx, double by)
double Derderi01(double x, double ax, double x0, double sigmax)
double Derderi02(double x, double y, double a, double x0, double y0, double sigmax, double sigmay, double ro)
double Derderj02(double x, double y, double a, double x0, double y0, double sigmax, double sigmay, double ro)
double Derdersigmax(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double ro)
double Derdersigmay(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double ro)
double Derfc(double x)
double Deri01(double x, double ax, double x0, double sigmax, double tx, double sx, double bx)
double Deri02(double x, double y, double a, double x0, double y0, double sigmax, double sigmay, double ro, double txy, double sxy, double bx, double by)
double Derj02(double x, double y, double a, double x0, double y0, double sigmax, double sigmay, double ro, double txy, double sxy, double bx, double by)
double Derpa2(double sx, double sy, double ro)
double Derpro(double a, double sx, double sy, double ro)
double Derpsigmax(double a, double sy, double ro)
double Derpsigmay(double a, double sx, double ro)
double Derro(int num_of_fitted_peaks, double x, double y, const double* parameter, double sx, double sy, double r)
double Dersigmax(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double ro, double txy, double sxy, double tx, double sx, double bx, double by)
double Dersigmay(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double ro, double txy, double sxy, double ty, double sy, double bx, double by)
double Dersx(int num_of_fitted_peaks, double x, const double* parameter, double sigmax)
double Dersxy(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay)
double Dersy(int num_of_fitted_peaks, double x, const double* parameter, double sigmax)
double Dertx(int num_of_fitted_peaks, double x, const double* parameter, double sigmax, double bx)
double Dertxy(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double bx, double by)
double Derty(int num_of_fitted_peaks, double x, const double* parameter, double sigmax, double bx)
const char* Enhance2(const float** source, float** dest, int sizex, int sizey, int type, int degree, int xmin, int xmax, int ymin, int ymax, float enhance_coeff) const
double Erfc(double x)
const char* Filter2Zonal(const float** source, float** dest, int sizex, int sizey, int type, int degree, int xmin, int xmax, int ymin, int ymax, float filter_coeff) const
const char* Fit2Awmi(float** source, TSpectrumTwoDimFit* p, int sizex, int sizey) const
const char* Fit2Stiefel(float** source, TSpectrumTwoDimFit* p, int sizex, int sizey) const
void FourCos2(float** working_matrix, float* working_vector, int numx, int numy, int direction, int type)
void Fourier(float* working_space, int num, int hartley, int direction, int zt_clear)
void General2(float** working_matrix, float* working_vector, int numx, int numy, int direction, int type, int degree)
int GeneralExe(float* working_space, int zt_clear, int num, int degree, int type)
int GeneralInv(float* working_space, int num, int degree, int type)
TH1* GetHistogram() const
Int_t GetNPeaks() const
Float_t* GetPositionX() const
Float_t* GetPositionY() const
void Haar(float* working_space, int num, int direction)
void HaarWalsh2(float** working_matrix, float* working_vector, int numx, int numy, int direction, int type)
virtual TClass* IsA() const
double Lls(double a)
double Ourpowl(double a, int pw)
int PeakEvaluate(const double* temp, int size, int xmax, double xmin, bool markov)
virtual Int_t Search(TH1* hist, Double_t sigma, const Option_t* option = "goff")
Int_t Search2(float** source, int sizex, int sizey, double sigma)
Int_t Search2General(float** source, int sizex, int sizey, double sigma, double threshold, bool markov, int aver_window)
void SetResolution(Float_t resolution = 1)
double Shape2(int num_of_fitted_peaks, double x, double y, const double* parameter, double sigmax, double sigmay, double ro, double a0, double ax, double ay, double txy, double sxy, double tx, double ty, double sx, double sy, double bx, double by)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
const char* Smooth2(float** spectrum, int sizex, int sizey, int pointsx, int pointsy) const
void StiefelInversion(double** a, int rozmer)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
const char* Transform2(const float** source, float** dest, int sizex, int sizey, int type, int direction, int degree) const
double Volume(double a, double sx, double sy, double ro)
void Walsh(float* working_space, int num)
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
THIS CLASS CONTAINS ADVANCED SPECTRA PROCESSING FUNCTIONS.
ONE-DIMENSIONAL BACKGROUND ESTIMATION FUNCTIONS
TWO-DIMENSIONAL BACKGROUND ESTIMATION FUNCTIONS
ONE-DIMENSIONAL SMOOTHING FUNCTIONS
TWO-DIMENSIONAL SMOOTHING FUNCTIONS
ONE-DIMENSIONAL DECONVOLUTION FUNCTIONS
TWO-DIMENSIONAL DECONVOLUTION FUNCTIONS
ONE-DIMENSIONAL PEAK SEARCH FUNCTIONS
TWO-DIMENSIONAL PEAK SEARCH FUNCTIONS
ONE-DIMENSIONAL PEAKS FITTING FUNCTIONS
TWO-DIMENSIONAL PEAKS FITTING FUNCTIONS
ONE-DIMENSIONAL ORTHOGONAL TRANSFORMS FUNCTIONS
TWO-DIMENSIONAL ORTHOGONAL TRANSFORMS FUNCTIONS
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 in 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:
TSpectrum2() :TNamed("Spectrum", "Miroslav Morhac peak finder")
TSpectrum2(Int_t maxpositions, Float_t resolution) :TNamed("Spectrum", "Miroslav Morhac peak finder")
~TSpectrum2()
const char* Background(TH1 * h, int number_of_iterations,
Option_t * option)
Int_t Search(TH1 * hin, Double_t sigma,
Option_t * option)
void SetResolution(Float_t resolution)
const char* Background2(float **spectrum, int sizex, int sizey,
int number_of_iterations)
const char* Background2RectangularRidges(float **spectrum,
int sizex, int sizey,
int
number_of_iterations_x,
int
number_of_iterations_y,
int direction,
int filter_order,
int filter_type)
const char* Background2RectangularRidgesX(float **spectrum,
int sizex, int sizey,
int
number_of_iterations,
int direction,
int filter_order)
const char* Background2RectangularRidgesY(float **spectrum,
int sizex, int sizey,
int
number_of_iterations,
int direction,
int filter_order)
const char* Background2SkewRidges(float **spectrum, int sizex,
int sizey,
int number_of_iterations_x,
int number_of_iterations_y,
int direction,
int filter_order)
const char* Background2NonlinearRidges(float **spectrum,
int sizex, int sizey,
int
number_of_iterations_x,
int
number_of_iterations_y,
int direction,
int filter_order)
const char* Smooth2(float **spectrum, int sizex, int sizey,
int pointsx, int pointsy)
double Lls(double a)
const char* Deconvolution2(float **source, const float **resp,
int sizex, int sizey,
int number_of_iterations)
void DecFourier2(double *working_space, int num, int iter,
int inv)
const char* Deconvolution2HighResolution(float **source,
const float **resp,
int sizex,
int sizey,
int
number_of_iterations,
int
number_of_repetitions,
double boost)
Int_t PeakEvaluate(const double *temp, int size, int xmax,
double xmin, bool markov)
Int_t Search2(float **source, int sizex, int sizey,
double sigma)
Int_t Search2General(float **source, int sizex, int sizey,
double sigma, double threshold,
bool markov, int aver_window)
double Erfc(double x)
double Derfc(double x)
double Ourpowl(double a, int pw)
void StiefelInversion(double **a, int size)
double Shape2(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double ro, double a0, double ax,
double ay, double txy, double sxy, double tx,
double ty, double sx, double sy, double bx,
double by)
double Deramp2(double x, double y, double x0, double y0,
double sigmax, double sigmay, double ro,
double txy, double sxy, double bx, double by)
double Derampx(double x, double x0, double sigmax, double tx,
double sx, double bx)
double Deri02(double x, double y, double a, double x0,
double y0, double sigmax, double sigmay,
double ro, double txy, double sxy, double bx,
double by)
double Derderi02(double x, double y, double a, double x0,
double y0, double sigmax, double sigmay,
double ro)
double Derj02(double x, double y, double a, double x0,
double y0, double sigmax, double sigmay,
double ro, double txy, double sxy, double bx,
double by)
double Derderj02(double x, double y, double a, double x0,
double y0, double sigmax, double sigmay,
double ro)
double Deri01(double x, double ax, double x0, double sigmax,
double tx, double sx, double bx)
double Derderi01(double x, double ax, double x0,
double sigmax)
double Dersigmax(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double ro, double txy,
double sxy, double tx, double sx, double bx,
double by)
double Derdersigmax(int num_of_fitted_peaks, double x,
double y, const double *parameter,
double sigmax, double sigmay,
double ro)
double Dersigmay(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double ro, double txy,
double sxy, double ty, double sy, double bx,
double by)
double Derdersigmay(int num_of_fitted_peaks, double x,
double y, const double *parameter,
double sigmax, double sigmay,
double ro)
double Derro(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sx, double sy,
double r)
double Dertxy(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double bx, double by)
double Dersxy(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay)
double Dertx(int num_of_fitted_peaks, double x,
const double *parameter, double sigmax,
double bx)
double Derty(int num_of_fitted_peaks, double x,
const double *parameter, double sigmax,
double bx)
double Dersx(int num_of_fitted_peaks, double x,
const double *parameter, double sigmax)
double Dersy(int num_of_fitted_peaks, double x,
const double *parameter, double sigmax)
double Derbx(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double txy, double tx, double bx,
double by)
double Derby(int num_of_fitted_peaks, double x, double y,
const double *parameter, double sigmax,
double sigmay, double txy, double ty, double bx,
double by)
double Volume(double a, double sx, double sy, double ro)
double Derpa2(double sx, double sy, double ro)
double Derpsigmax(double a, double sy, double ro)
double Derpsigmay(double a, double sx, double ro)
double Derpro(double a, double sx, double sy, double ro)
const char* Fit2Awmi(float **source, TSpectrumTwoDimFit * p,
int sizex, int sizey)
const char* Fit2Stiefel(float **source,
TSpectrumTwoDimFit * p, int sizex,
int sizey)
void Haar(float *working_space, int num, int direction)
void Walsh(float *working_space, int num)
void BitReverse(float *working_space, int num)
void Fourier(float *working_space, int num, int hartley,
int direction, int zt_clear)
void BitReverseHaar(float *working_space, int shift, int num,
int start)
int GeneralExe(float *working_space, int zt_clear, int num,
int degree, int type)
int GeneralInv(float *working_space, int num, int degree,
int type)
void HaarWalsh2(float **working_matrix,
float *working_vector, int numx, int numy,
int direction, int type)
void FourCos2(float **working_matrix, float *working_vector,
int numx, int numy, int direction, int type)
void General2(float **working_matrix, float *working_vector,
int numx, int numy, int direction, int type,
int degree)
const char* Transform2(const float **source, float **dest,
int sizex, int sizey, int type,
int direction, int degree)
const char* Filter2Zonal(const float **source, float **dest,
int sizex, int sizey, int type,
int degree, int xmin, int xmax,
int ymin, int ymax,
float filter_coeff)
const char* Enhance2(const float **source, float **dest,
int sizex, int sizey, int type,
int degree, int xmin, int xmax, int ymin,
int ymax, float enhance_coeff)
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)
TSpectrum2 TSpectrum2(const TSpectrum2&)
Author: Miroslav Morhac 11/04/2003
Last update: root/hist:$Name: $:$Id: TSpectrum2.cxx,v 1.6 2003/05/08 15:00:38 brun 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.