ROOT
6.07/01
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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::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::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: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()
TSpectrum2Transform::~TSpectrum2Transform
virtual ~TSpectrum2Transform()
Destructor.
Definition:
TSpectrum2Transform.cxx:99
ymin
float ymin
Definition:
THbookFile.cxx:93
TSpectrum2Transform::kTransformCosHaar
Definition:
TSpectrum2Transform.h:43
TSpectrum2Transform::fFilterCoeff
Double_t fFilterCoeff
value set in the filtered region
Definition:
TSpectrum2Transform.h:29
TSpectrum2Transform::kTransformFourierHaar
Definition:
TSpectrum2Transform.h:40
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::kTransformCosWalsh
Definition:
TSpectrum2Transform.h:42
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::kTransformSinHaar
Definition:
TSpectrum2Transform.h:45
TSpectrum2Transform::fYmax
Int_t fYmax
last channel y of filtered or enhanced region
Definition:
TSpectrum2Transform.h:28
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::kTransformInverse
Definition:
TSpectrum2Transform.h:47
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::kTransformHartley
Definition:
TSpectrum2Transform.h:38
TSpectrum2Transform::fSizeX
Int_t fSizeX
x length of transformed data
Definition:
TSpectrum2Transform.h:20
TSpectrum2Transform::kTransformHaar
Definition:
TSpectrum2Transform.h:33
xmax
float xmax
Definition:
THbookFile.cxx:93
TSpectrum2Transform::kTransformWalsh
Definition:
TSpectrum2Transform.h:34
TSpectrum2Transform::Enhance
void Enhance(const Double_t **fSource, Double_t **fDest)
This function transforms the source spectrum.
Definition:
TSpectrum2Transform.cxx:2445
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::kTransformSinWalsh
Definition:
TSpectrum2Transform.h:44
start
Definition:
stressThreadPool.C:27
TSpectrum2Transform::kTransformSin
Definition:
TSpectrum2Transform.h:36
TSpectrum2Transform::fYmin
Int_t fYmin
first channel y of filtered or enhanced region
Definition:
TSpectrum2Transform.h:27
TSpectrum2Transform::kTransformFourier
Definition:
TSpectrum2Transform.h:37
TSpectrum2Transform::kTransformFourierWalsh
Definition:
TSpectrum2Transform.h:39
TObject
Mother of all ROOT objects.
Definition:
TObject.h:58
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::kTransformForward
Definition:
TSpectrum2Transform.h:46
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
TSpectrum2Transform::kTransformCos
Definition:
TSpectrum2Transform.h:35