Logo ROOT  
Reference Guide
TSpectrumTransform.h
Go to the documentation of this file.
1 // @(#)root/spectrum:$Id$
2 // Author: Miroslav Morhac 25/09/06
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 #ifndef ROOT_TSpectrumTransform
12 #define ROOT_TSpectrumTransform
13 
14 #include "TNamed.h"
15 
16 class TH1;
17 
18 class TSpectrumTransform : public TNamed {
19 
20 protected:
21  Int_t fSize; ///< length of transformed data
22  Int_t fTransformType; ///< type of transformation (Haar, Walsh, Cosine, Sine, Fourier, Hartley, Fourier-Walsh, Fourier-Haar, Walsh-Haar, Cosine-Walsh, Cosine-Haar, Sine-Walsh, Sine-Haar)
23  Int_t fDegree; ///< degree of mixed transform, applies only for Fourier-Walsh, Fourier-Haar, Walsh-Haar, Cosine-Walsh, Cosine-Haar, Sine-Walsh, Sine-Haar transforms
24  Int_t fDirection; ///< forward or inverse transform
25  Int_t fXmin; ///< first channel of filtered or enhanced region
26  Int_t fXmax; ///< last channel of filtered or enhanced region
27  Double_t fFilterCoeff; ///< value set in the filtered region
28  Double_t fEnhanceCoeff; ///< multiplication coefficient applied in enhanced region;
29 
30 public:
31  enum {
47  };
50  virtual ~TSpectrumTransform();
51 
52 protected:
53  void BitReverse(Double_t *working_space,Int_t num);
54  void BitReverseHaar(Double_t *working_space,Int_t shift,Int_t num,Int_t start);
55  void Fourier(Double_t *working_space,Int_t num,Int_t hartley,Int_t direction,Int_t zt_clear);
56  Int_t GeneralExe(Double_t *working_space,Int_t zt_clear,Int_t num,Int_t degree,Int_t type);
57  Int_t GeneralInv(Double_t *working_space,Int_t num,Int_t degree,Int_t type);
58  void Haar(Double_t *working_space,Int_t num,Int_t direction);
59  void Walsh(Double_t *working_space,Int_t num);
60 
61 public:
62  void Enhance(const Double_t *source, Double_t *destVector);
63  void FilterZonal(const Double_t *source, Double_t *destVector);
64  void SetDirection(Int_t direction);
65  void SetEnhanceCoeff(Double_t enhanceCoeff);
66  void SetFilterCoeff(Double_t filterCoeff);
67  void SetRegion(Int_t xmin, Int_t xmax);
68  void SetTransformType(Int_t transType, Int_t degree);
69  void Transform(const Double_t *source, Double_t *destVector);
70 
71  ClassDef(TSpectrumTransform,1) //Spectrum Transformer, it calculates classic orthogonal 1D transforms
72 };
73 
74 
75 #endif
76 
TSpectrumTransform::SetTransformType
void SetTransformType(Int_t transType, Int_t degree)
This function sets the following parameters for transform:
Definition: TSpectrumTransform.cxx:2236
TSpectrumTransform::SetDirection
void SetDirection(Int_t direction)
This function sets the direction of the transform:
Definition: TSpectrumTransform.cxx:2277
TSpectrumTransform::kTransformSinHaar
@ kTransformSinHaar
Definition: TSpectrumTransform.h:44
TSpectrumTransform
Advanced 1-dimensional orthogonal transform functions.
Definition: TSpectrumTransform.h:18
TSpectrumTransform::kTransformFourier
@ kTransformFourier
Definition: TSpectrumTransform.h:36
TSpectrumTransform::kTransformCos
@ kTransformCos
Definition: TSpectrumTransform.h:34
TGeant4Unit::degree
static constexpr double degree
Definition: TGeant4SystemOfUnits.h:141
xmax
float xmax
Definition: THbookFile.cxx:95
TNamed.h
TSpectrumTransform::BitReverse
void BitReverse(Double_t *working_space, Int_t num)
This function carries out bit-reverse reordering of data Function parameters:
Definition: TSpectrumTransform.cxx:226
TSpectrumTransform::fXmin
Int_t fXmin
first channel of filtered or enhanced region
Definition: TSpectrumTransform.h:25
Int_t
int Int_t
Definition: RtypesCore.h:45
TSpectrumTransform::fDegree
Int_t fDegree
degree of mixed transform, applies only for Fourier-Walsh, Fourier-Haar, Walsh-Haar,...
Definition: TSpectrumTransform.h:23
TSpectrumTransform::kTransformSin
@ kTransformSin
Definition: TSpectrumTransform.h:35
TSpectrumTransform::kTransformHaar
@ kTransformHaar
Definition: TSpectrumTransform.h:32
TSpectrumTransform::kTransformCosWalsh
@ kTransformCosWalsh
Definition: TSpectrumTransform.h:41
TSpectrumTransform::fEnhanceCoeff
Double_t fEnhanceCoeff
multiplication coefficient applied in enhanced region;
Definition: TSpectrumTransform.h:28
TSpectrumTransform::SetEnhanceCoeff
void SetEnhanceCoeff(Double_t enhanceCoeff)
This function sets the enhancement coefficient:
Definition: TSpectrumTransform.cxx:2299
TSpectrumTransform::GeneralInv
Int_t GeneralInv(Double_t *working_space, Int_t num, Int_t degree, Int_t type)
This function calculates inverse generalized (mixed) transforms Function parameters:
Definition: TSpectrumTransform.cxx:546
TSpectrumTransform::kTransformWalshHaar
@ kTransformWalshHaar
Definition: TSpectrumTransform.h:40
TSpectrumTransform::kTransformFourierHaar
@ kTransformFourierHaar
Definition: TSpectrumTransform.h:39
TSpectrumTransform::kTransformInverse
@ kTransformInverse
Definition: TSpectrumTransform.h:46
TSpectrumTransform::fFilterCoeff
Double_t fFilterCoeff
value set in the filtered region
Definition: TSpectrumTransform.h:27
TSpectrumTransform::Walsh
void Walsh(Double_t *working_space, Int_t num)
This function calculates Walsh transform of a part of data Function parameters:
Definition: TSpectrumTransform.cxx:173
TSpectrumTransform::~TSpectrumTransform
virtual ~TSpectrumTransform()
Destructor.
Definition: TSpectrumTransform.cxx:84
TSpectrumTransform::SetRegion
void SetRegion(Int_t xmin, Int_t xmax)
This function sets the filtering or enhancement region:
Definition: TSpectrumTransform.cxx:2263
TSpectrumTransform::Transform
void Transform(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition: TSpectrumTransform.cxx:740
xmin
float xmin
Definition: THbookFile.cxx:95
TNamed
Definition: TNamed.h:29
TSpectrumTransform::kTransformSinWalsh
@ kTransformSinWalsh
Definition: TSpectrumTransform.h:43
TSpectrumTransform::fSize
Int_t fSize
length of transformed data
Definition: TSpectrumTransform.h:21
TSpectrumTransform::kTransformFourierWalsh
@ kTransformFourierWalsh
Definition: TSpectrumTransform.h:38
TSpectrumTransform::TSpectrumTransform
TSpectrumTransform()
default constructor
Definition: TSpectrumTransform.cxx:37
TSpectrumTransform::fTransformType
Int_t fTransformType
type of transformation (Haar, Walsh, Cosine, Sine, Fourier, Hartley, Fourier-Walsh,...
Definition: TSpectrumTransform.h:22
TSpectrumTransform::SetFilterCoeff
void SetFilterCoeff(Double_t filterCoeff)
This function sets the filter coefficient:
Definition: TSpectrumTransform.cxx:2290
TSpectrumTransform::Haar
void Haar(Double_t *working_space, Int_t num, Int_t direction)
This function calculates Haar transform of a part of data Function parameters:
Definition: TSpectrumTransform.cxx:95
TSpectrumTransform::kTransformWalsh
@ kTransformWalsh
Definition: TSpectrumTransform.h:33
Double_t
double Double_t
Definition: RtypesCore.h:59
TSpectrumTransform::kTransformCosHaar
@ kTransformCosHaar
Definition: TSpectrumTransform.h:42
TSpectrumTransform::GeneralExe
Int_t GeneralExe(Double_t *working_space, Int_t zt_clear, Int_t num, Int_t degree, Int_t type)
This function calculates generalized (mixed) transforms of different degrees Function parameters:
Definition: TSpectrumTransform.cxx:430
TSpectrumTransform::kTransformHartley
@ kTransformHartley
Definition: TSpectrumTransform.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TH1
Definition: TH1.h:57
TSpectrumTransform::BitReverseHaar
void BitReverseHaar(Double_t *working_space, Int_t shift, Int_t num, Int_t start)
This function carries out bit-reverse reordering for Haar transform Function parameters:
Definition: TSpectrumTransform.cxx:385
type
int type
Definition: TGX11.cxx:121
TSpectrumTransform::FilterZonal
void FilterZonal(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition: TSpectrumTransform.cxx:1268
TSpectrumTransform::Enhance
void Enhance(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition: TSpectrumTransform.cxx:1778
TSpectrumTransform::fXmax
Int_t fXmax
last channel of filtered or enhanced region
Definition: TSpectrumTransform.h:26
TSpectrumTransform::fDirection
Int_t fDirection
forward or inverse transform
Definition: TSpectrumTransform.h:24
int
TSpectrumTransform::Fourier
void Fourier(Double_t *working_space, Int_t num, Int_t hartley, Int_t direction, Int_t zt_clear)
This function calculates Fourier based transform of a part of data Function parameters:
Definition: TSpectrumTransform.cxx:264
TSpectrumTransform::kTransformForward
@ kTransformForward
Definition: TSpectrumTransform.h:45