ROOT
6.16/01
Reference Guide
hist
spectrum
inc
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
{
32
kTransformHaar
=0,
33
kTransformWalsh
=1,
34
kTransformCos
=2,
35
kTransformSin
=3,
36
kTransformFourier
=4,
37
kTransformHartley
=5,
38
kTransformFourierWalsh
=6,
39
kTransformFourierHaar
=7,
40
kTransformWalshHaar
=8,
41
kTransformCosWalsh
=9,
42
kTransformCosHaar
=10,
43
kTransformSinWalsh
=11,
44
kTransformSinHaar
=12,
45
kTransformForward
=0,
46
kTransformInverse
=1
47
};
48
TSpectrumTransform
();
49
TSpectrumTransform
(
Int_t
size);
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
Int_t
int Int_t
Definition:
RtypesCore.h:41
Double_t
double Double_t
Definition:
RtypesCore.h:55
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:324
type
int type
Definition:
TGX11.cxx:120
xmin
float xmin
Definition:
THbookFile.cxx:93
xmax
float xmax
Definition:
THbookFile.cxx:93
TNamed.h
TH1
The TH1 histogram class.
Definition:
TH1.h:56
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition:
TNamed.h:29
TSpectrumTransform
Advanced 1-dimensional orthogonal transform functions.
Definition:
TSpectrumTransform.h:18
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::~TSpectrumTransform
virtual ~TSpectrumTransform()
Destructor.
Definition:
TSpectrumTransform.cxx:84
TSpectrumTransform::fTransformType
Int_t fTransformType
type of transformation (Haar, Walsh, Cosine, Sine, Fourier, Hartley, Fourier-Walsh,...
Definition:
TSpectrumTransform.h:22
TSpectrumTransform::Transform
void Transform(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:740
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
TSpectrumTransform::SetRegion
void SetRegion(Int_t xmin, Int_t xmax)
This function sets the filtering or enhancement region:
Definition:
TSpectrumTransform.cxx:2263
TSpectrumTransform::SetDirection
void SetDirection(Int_t direction)
This function sets the direction of the transform:
Definition:
TSpectrumTransform.cxx:2277
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::Enhance
void Enhance(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:1778
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::fSize
Int_t fSize
length of transformed data
Definition:
TSpectrumTransform.h:21
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::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::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::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::SetFilterCoeff
void SetFilterCoeff(Double_t filterCoeff)
This function sets the filter coefficient:
Definition:
TSpectrumTransform.cxx:2290
TSpectrumTransform::fXmin
Int_t fXmin
first channel of filtered or enhanced region
Definition:
TSpectrumTransform.h:25
TSpectrumTransform::kTransformCosHaar
@ kTransformCosHaar
Definition:
TSpectrumTransform.h:42
TSpectrumTransform::kTransformCos
@ kTransformCos
Definition:
TSpectrumTransform.h:34
TSpectrumTransform::kTransformSin
@ kTransformSin
Definition:
TSpectrumTransform.h:35
TSpectrumTransform::kTransformHaar
@ kTransformHaar
Definition:
TSpectrumTransform.h:32
TSpectrumTransform::kTransformInverse
@ kTransformInverse
Definition:
TSpectrumTransform.h:46
TSpectrumTransform::kTransformFourier
@ kTransformFourier
Definition:
TSpectrumTransform.h:36
TSpectrumTransform::kTransformWalshHaar
@ kTransformWalshHaar
Definition:
TSpectrumTransform.h:40
TSpectrumTransform::kTransformForward
@ kTransformForward
Definition:
TSpectrumTransform.h:45
TSpectrumTransform::kTransformFourierWalsh
@ kTransformFourierWalsh
Definition:
TSpectrumTransform.h:38
TSpectrumTransform::kTransformFourierHaar
@ kTransformFourierHaar
Definition:
TSpectrumTransform.h:39
TSpectrumTransform::kTransformWalsh
@ kTransformWalsh
Definition:
TSpectrumTransform.h:33
TSpectrumTransform::kTransformHartley
@ kTransformHartley
Definition:
TSpectrumTransform.h:37
TSpectrumTransform::kTransformSinWalsh
@ kTransformSinWalsh
Definition:
TSpectrumTransform.h:43
TSpectrumTransform::kTransformCosWalsh
@ kTransformCosWalsh
Definition:
TSpectrumTransform.h:41
TSpectrumTransform::kTransformSinHaar
@ kTransformSinHaar
Definition:
TSpectrumTransform.h:44
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
TSpectrumTransform::FilterZonal
void FilterZonal(const Double_t *source, Double_t *destVector)
This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:1268
TSpectrumTransform::fDegree
Int_t fDegree
degree of mixed transform, applies only for Fourier-Walsh, Fourier-Haar, Walsh-Haar,...
Definition:
TSpectrumTransform.h:23
TSpectrumTransform::TSpectrumTransform
TSpectrumTransform()
default constructor
Definition:
TSpectrumTransform.cxx:37
TSpectrumTransform::fFilterCoeff
Double_t fFilterCoeff
value set in the filtered region
Definition:
TSpectrumTransform.h:27
TSpectrumTransform::SetTransformType
void SetTransformType(Int_t transType, Int_t degree)
This function sets the following parameters for transform:
Definition:
TSpectrumTransform.cxx:2236
TGeoUnit::degree
static constexpr double degree
Definition:
TGeoSystemOfUnits.h:135