ROOT
6.08/07
Reference Guide
hist
spectrum
inc
TSpectrum2Transform.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-2000, 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_TSpectrum2Transform
12
#define ROOT_TSpectrum2Transform
13
14
#ifndef ROOT_TNamed
15
#include "
TNamed.h
"
16
#endif
17
18
class
TSpectrum2Transform
:
public
TObject
{
19
protected
:
20
Int_t
fSizeX
;
///< x length of transformed data
21
Int_t
fSizeY
;
///< y 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 x of filtered or enhanced region
26
Int_t
fXmax
;
///< last channel x of filtered or enhanced region
27
Int_t
fYmin
;
///< first channel y of filtered or enhanced region
28
Int_t
fYmax
;
///< last channel y of filtered or enhanced region
29
Double_t
fFilterCoeff
;
///< value set in the filtered region
30
Double_t
fEnhanceCoeff
;
///< multiplication coefficient applied in enhanced region;
31
public
:
32
enum
{
33
kTransformHaar
=0,
34
kTransformWalsh
=1,
35
kTransformCos
=2,
36
kTransformSin
=3,
37
kTransformFourier
=4,
38
kTransformHartley
=5,
39
kTransformFourierWalsh
=6,
40
kTransformFourierHaar
=7,
41
kTransformWalshHaar
=8,
42
kTransformCosWalsh
=9,
43
kTransformCosHaar
=10,
44
kTransformSinWalsh
=11,
45
kTransformSinHaar
=12,
46
kTransformForward
=0,
47
kTransformInverse
=1
48
};
49
TSpectrum2Transform
();
50
TSpectrum2Transform
(
Int_t
sizeX,
Int_t
sizeY);
51
virtual
~TSpectrum2Transform
();
52
53
protected
:
54
void
BitReverse
(
Double_t
*working_space,
Int_t
num);
55
void
BitReverseHaar
(
Double_t
*working_space,
Int_t
shift,
Int_t
num,
Int_t
start);
56
void
FourCos2
(
Double_t
**working_matrix,
Double_t
*working_vector,
Int_t
numx,
Int_t
numy,
Int_t
direction,
Int_t
type
);
57
void
Fourier
(
Double_t
*working_space,
Int_t
num,
Int_t
hartley,
Int_t
direction,
Int_t
zt_clear);
58
void
General2
(
Double_t
**working_matrix,
Double_t
*working_vector,
Int_t
numx,
Int_t
numy,
Int_t
direction,
Int_t
type
,
Int_t
degree);
59
Int_t
GeneralExe
(
Double_t
*working_space,
Int_t
zt_clear,
Int_t
num,
Int_t
degree,
Int_t
type
);
60
Int_t
GeneralInv
(
Double_t
*working_space,
Int_t
num,
Int_t
degree,
Int_t
type
);
61
void
Haar
(
Double_t
*working_space,
Int_t
num,
Int_t
direction);
62
void
HaarWalsh2
(
Double_t
**working_matrix,
Double_t
*working_vector,
Int_t
numx,
Int_t
numy,
Int_t
direction,
Int_t
type
);
63
void
Walsh
(
Double_t
*working_space,
Int_t
num);
64
65
public
:
66
void
Enhance
(
const
Double_t
**fSource,
Double_t
**fDest);
67
void
FilterZonal
(
const
Double_t
**fSource,
Double_t
**fDest);
68
void
SetDirection
(
Int_t
direction);
69
void
SetEnhanceCoeff
(
Double_t
enhanceCoeff);
70
void
SetFilterCoeff
(
Double_t
filterCoeff);
71
void
SetRegion
(
Int_t
xmin
,
Int_t
xmax
,
Int_t
ymin
,
Int_t
ymax
);
72
void
SetTransformType
(
Int_t
transType,
Int_t
degree);
73
void
Transform
(
const
Double_t
**fSource,
Double_t
**fDest);
74
75
ClassDef
(
TSpectrum2Transform
,1)
//Spectrum2 Transformer, it calculates classic orthogonal 2D transforms
76
};
77
78
#endif
TSpectrum2Transform::kTransformFourierHaar
Definition:
TSpectrum2Transform.h:40
TSpectrum2Transform::SetRegion
void SetRegion(Int_t xmin, Int_t xmax, Int_t ymin, Int_t ymax)
This function sets the filtering or enhancement region:
Definition:
TSpectrum2Transform.cxx:2748
TSpectrum2Transform::kTransformHartley
Definition:
TSpectrum2Transform.h:38
TSpectrum2Transform::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.
Definition:
TSpectrum2Transform.cxx:405
xmin
float xmin
Definition:
THbookFile.cxx:93
TSpectrum2Transform::kTransformInverse
Definition:
TSpectrum2Transform.h:47
TSpectrum2Transform::fSizeY
Int_t fSizeY
y length of transformed data
Definition:
TSpectrum2Transform.h:21
TSpectrum2Transform::fTransformType
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)
Definition:
TSpectrum2Transform.h:22
TSpectrum2Transform::TSpectrum2Transform
TSpectrum2Transform()
Default constructor.
Definition:
TSpectrum2Transform.cxx:39
TSpectrum2Transform::~TSpectrum2Transform
virtual ~TSpectrum2Transform()
Destructor.
Definition:
TSpectrum2Transform.cxx:99
ymin
float ymin
Definition:
THbookFile.cxx:93
TSpectrum2Transform::kTransformCos
Definition:
TSpectrum2Transform.h:35
TSpectrum2Transform::kTransformForward
Definition:
TSpectrum2Transform.h:46
TSpectrum2Transform::fFilterCoeff
Double_t fFilterCoeff
value set in the filtered region
Definition:
TSpectrum2Transform.h:29
Int_t
int Int_t
Definition:
RtypesCore.h:41
TSpectrum2Transform::kTransformSinHaar
Definition:
TSpectrum2Transform.h:45
TSpectrum2Transform::SetDirection
void SetDirection(Int_t direction)
This function sets the direction of the transform:
Definition:
TSpectrum2Transform.cxx:2768
TSpectrum2Transform::Transform
void Transform(const Double_t **fSource, Double_t **fDest)
This function transforms the source spectrum.
Definition:
TSpectrum2Transform.cxx:1754
TSpectrum2Transform::fXmax
Int_t fXmax
last channel x of filtered or enhanced region
Definition:
TSpectrum2Transform.h:26
TSpectrum2Transform::Haar
void Haar(Double_t *working_space, Int_t num, Int_t direction)
This function calculates Haar transform of a part of data.
Definition:
TSpectrum2Transform.cxx:111
TNamed.h
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:254
TSpectrum2Transform::kTransformSinWalsh
Definition:
TSpectrum2Transform.h:44
TSpectrum2Transform::fYmax
Int_t fYmax
last channel y of filtered or enhanced region
Definition:
TSpectrum2Transform.h:28
TSpectrum2Transform::kTransformFourier
Definition:
TSpectrum2Transform.h:37
TSpectrum2Transform::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:
TSpectrum2Transform.cxx:568
TSpectrum2Transform::kTransformCosWalsh
Definition:
TSpectrum2Transform.h:42
TSpectrum2Transform::FilterZonal
void FilterZonal(const Double_t **fSource, Double_t **fDest)
This function transforms the source spectrum.
Definition:
TSpectrum2Transform.cxx:2114
TSpectrum2Transform
Advanced 2-dimensional orthogonal transform functions.
Definition:
TSpectrum2Transform.h:18
ymax
float ymax
Definition:
THbookFile.cxx:93
TSpectrum2Transform::SetFilterCoeff
void SetFilterCoeff(Double_t filterCoeff)
This function sets the filter coefficient:
Definition:
TSpectrum2Transform.cxx:2781
TSpectrum2Transform::kTransformWalshHaar
Definition:
TSpectrum2Transform.h:41
TSpectrum2Transform::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.
Definition:
TSpectrum2Transform.cxx:451
TSpectrum2Transform::kTransformHaar
Definition:
TSpectrum2Transform.h:33
TSpectrum2Transform::fSizeX
Int_t fSizeX
x length of transformed data
Definition:
TSpectrum2Transform.h:20
xmax
float xmax
Definition:
THbookFile.cxx:93
TSpectrum2Transform::Enhance
void Enhance(const Double_t **fSource, Double_t **fDest)
This function transforms the source spectrum.
Definition:
TSpectrum2Transform.cxx:2445
TSpectrum2Transform::kTransformSin
Definition:
TSpectrum2Transform.h:36
TSpectrum2Transform::SetEnhanceCoeff
void SetEnhanceCoeff(Double_t enhanceCoeff)
This function sets the enhancement coefficient:
Definition:
TSpectrum2Transform.cxx:2790
TSpectrum2Transform::SetTransformType
void SetTransformType(Int_t transType, Int_t degree)
This function sets the following parameters for transform:
Definition:
TSpectrum2Transform.cxx:2715
TSpectrum2Transform::Walsh
void Walsh(Double_t *working_space, Int_t num)
This function calculates Walsh transform of a part of data.
Definition:
TSpectrum2Transform.cxx:190
Double_t
double Double_t
Definition:
RtypesCore.h:55
TSpectrum2Transform::HaarWalsh2
void HaarWalsh2(Double_t **working_matrix, Double_t *working_vector, Int_t numx, Int_t numy, Int_t direction, Int_t type)
This function calculates 2D Haar and Walsh transforms Function parameters:
Definition:
TSpectrum2Transform.cxx:687
type
int type
Definition:
TGX11.cxx:120
TSpectrum2Transform::BitReverse
void BitReverse(Double_t *working_space, Int_t num)
This function carries out bit-reverse reordering of data.
Definition:
TSpectrum2Transform.cxx:244
TSpectrum2Transform::fDegree
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
Definition:
TSpectrum2Transform.h:23
TSpectrum2Transform::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.
Definition:
TSpectrum2Transform.cxx:283
TSpectrum2Transform::fYmin
Int_t fYmin
first channel y of filtered or enhanced region
Definition:
TSpectrum2Transform.h:27
TObject
Mother of all ROOT objects.
Definition:
TObject.h:37
TSpectrum2Transform::General2
void General2(Double_t **working_matrix, Double_t *working_vector, Int_t numx, Int_t numy, Int_t direction, Int_t type, Int_t degree)
This function calculates generalized (mixed) 2D transforms Function parameters:
Definition:
TSpectrum2Transform.cxx:1046
TSpectrum2Transform::kTransformWalsh
Definition:
TSpectrum2Transform.h:34
TSpectrum2Transform::kTransformFourierWalsh
Definition:
TSpectrum2Transform.h:39
TSpectrum2Transform::kTransformCosHaar
Definition:
TSpectrum2Transform.h:43
TSpectrum2Transform::fEnhanceCoeff
Double_t fEnhanceCoeff
multiplication coefficient applied in enhanced region;
Definition:
TSpectrum2Transform.h:30
TSpectrum2Transform::fXmin
Int_t fXmin
first channel x of filtered or enhanced region
Definition:
TSpectrum2Transform.h:25
TSpectrum2Transform::fDirection
Int_t fDirection
forward or inverse transform
Definition:
TSpectrum2Transform.h:24
TSpectrum2Transform::FourCos2
void FourCos2(Double_t **working_matrix, Double_t *working_vector, Int_t numx, Int_t numy, Int_t direction, Int_t type)
This function calculates 2D Fourier based transforms Function parameters:
Definition:
TSpectrum2Transform.cxx:778