ROOT
6.10/09
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
#include "
TNamed.h
"
15
16
class
TSpectrum2Transform
:
public
TObject
{
17
protected
:
18
Int_t
fSizeX
;
///< x length of transformed data
19
Int_t
fSizeY
;
///< y length of transformed data
20
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)
21
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
22
Int_t
fDirection
;
///< forward or inverse transform
23
Int_t
fXmin
;
///< first channel x of filtered or enhanced region
24
Int_t
fXmax
;
///< last channel x of filtered or enhanced region
25
Int_t
fYmin
;
///< first channel y of filtered or enhanced region
26
Int_t
fYmax
;
///< last channel y 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
public
:
30
enum
{
31
kTransformHaar
=0,
32
kTransformWalsh
=1,
33
kTransformCos
=2,
34
kTransformSin
=3,
35
kTransformFourier
=4,
36
kTransformHartley
=5,
37
kTransformFourierWalsh
=6,
38
kTransformFourierHaar
=7,
39
kTransformWalshHaar
=8,
40
kTransformCosWalsh
=9,
41
kTransformCosHaar
=10,
42
kTransformSinWalsh
=11,
43
kTransformSinHaar
=12,
44
kTransformForward
=0,
45
kTransformInverse
=1
46
};
47
TSpectrum2Transform
();
48
TSpectrum2Transform
(
Int_t
sizeX,
Int_t
sizeY);
49
virtual
~TSpectrum2Transform
();
50
51
protected
:
52
void
BitReverse
(
Double_t
*working_space,
Int_t
num);
53
void
BitReverseHaar
(
Double_t
*working_space,
Int_t
shift,
Int_t
num,
Int_t
start);
54
void
FourCos2
(
Double_t
**working_matrix,
Double_t
*working_vector,
Int_t
numx,
Int_t
numy,
Int_t
direction,
Int_t
type
);
55
void
Fourier
(
Double_t
*working_space,
Int_t
num,
Int_t
hartley,
Int_t
direction,
Int_t
zt_clear);
56
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);
57
Int_t
GeneralExe
(
Double_t
*working_space,
Int_t
zt_clear,
Int_t
num,
Int_t
degree,
Int_t
type
);
58
Int_t
GeneralInv
(
Double_t
*working_space,
Int_t
num,
Int_t
degree,
Int_t
type
);
59
void
Haar
(
Double_t
*working_space,
Int_t
num,
Int_t
direction);
60
void
HaarWalsh2
(
Double_t
**working_matrix,
Double_t
*working_vector,
Int_t
numx,
Int_t
numy,
Int_t
direction,
Int_t
type
);
61
void
Walsh
(
Double_t
*working_space,
Int_t
num);
62
63
public
:
64
void
Enhance
(
const
Double_t
**fSource,
Double_t
**fDest);
65
void
FilterZonal
(
const
Double_t
**fSource,
Double_t
**fDest);
66
void
SetDirection
(
Int_t
direction);
67
void
SetEnhanceCoeff
(
Double_t
enhanceCoeff);
68
void
SetFilterCoeff
(
Double_t
filterCoeff);
69
void
SetRegion
(
Int_t
xmin
,
Int_t
xmax
,
Int_t
ymin
,
Int_t
ymax
);
70
void
SetTransformType
(
Int_t
transType,
Int_t
degree);
71
void
Transform
(
const
Double_t
**fSource,
Double_t
**fDest);
72
73
ClassDef
(
TSpectrum2Transform
,1)
//Spectrum2 Transformer, it calculates classic orthogonal 2D transforms
74
};
75
76
#endif
TSpectrum2Transform::kTransformFourier
Definition:
TSpectrum2Transform.h:35
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::kTransformSinWalsh
Definition:
TSpectrum2Transform.h:42
TSpectrum2Transform::kTransformInverse
Definition:
TSpectrum2Transform.h:45
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::fSizeY
Int_t fSizeY
y length of transformed data
Definition:
TSpectrum2Transform.h:19
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:20
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::kTransformSin
Definition:
TSpectrum2Transform.h:34
TSpectrum2Transform::fFilterCoeff
Double_t fFilterCoeff
value set in the filtered region
Definition:
TSpectrum2Transform.h:27
Int_t
int Int_t
Definition:
RtypesCore.h:41
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:24
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
TSpectrum2Transform::kTransformHaar
Definition:
TSpectrum2Transform.h:31
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:297
TSpectrum2Transform::kTransformFourierHaar
Definition:
TSpectrum2Transform.h:38
TSpectrum2Transform::fYmax
Int_t fYmax
last channel y of filtered or enhanced region
Definition:
TSpectrum2Transform.h:26
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::FilterZonal
void FilterZonal(const Double_t **fSource, Double_t **fDest)
This function transforms the source spectrum.
Definition:
TSpectrum2Transform.cxx:2114
TSpectrum2Transform::kTransformCosWalsh
Definition:
TSpectrum2Transform.h:40
TSpectrum2Transform
Advanced 2-dimensional orthogonal transform functions.
Definition:
TSpectrum2Transform.h:16
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:39
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::fSizeX
Int_t fSizeX
x length of transformed data
Definition:
TSpectrum2Transform.h:18
TSpectrum2Transform::kTransformSinHaar
Definition:
TSpectrum2Transform.h:43
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::kTransformHartley
Definition:
TSpectrum2Transform.h:36
TSpectrum2Transform::kTransformForward
Definition:
TSpectrum2Transform.h:44
TSpectrum2Transform::SetEnhanceCoeff
void SetEnhanceCoeff(Double_t enhanceCoeff)
This function sets the enhancement coefficient:
Definition:
TSpectrum2Transform.cxx:2790
TSpectrum2Transform::kTransformCos
Definition:
TSpectrum2Transform.h:33
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
TSpectrum2Transform::kTransformWalsh
Definition:
TSpectrum2Transform.h:32
Double_t
double Double_t
Definition:
RtypesCore.h:55
TSpectrum2Transform::kTransformCosHaar
Definition:
TSpectrum2Transform.h:41
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:21
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:25
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::fEnhanceCoeff
Double_t fEnhanceCoeff
multiplication coefficient applied in enhanced region;
Definition:
TSpectrum2Transform.h:28
TSpectrum2Transform::fXmin
Int_t fXmin
first channel x of filtered or enhanced region
Definition:
TSpectrum2Transform.h:23
TSpectrum2Transform::fDirection
Int_t fDirection
forward or inverse transform
Definition:
TSpectrum2Transform.h:22
TSpectrum2Transform::kTransformFourierWalsh
Definition:
TSpectrum2Transform.h:37
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