Loading [MathJax]/extensions/tex2jax.js
ROOT
6.06/09
Reference Guide
ROOT Home Page
Main Page
Related Pages
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
Modules
Pages
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
//////////////////////////////////////////////////////////////////////////
15
// //
16
// TSpectrumTransform //
17
// //
18
// Class to carry out transforms of 1D spectra, its filtering and //
19
// enhancement. It allows to calculate classic Fourier, Cosine, Sin, //
20
// Hartley, Walsh, Haar transforms as well as mixed transforms (Fourier-//
21
// Walsh, Fourier-Haar, Walsh-Haar, Cosine-Walsh, Cosine-Haar, Sin-Walsh//
22
// and Sin-Haar). All the transforms are fast. //
23
// //
24
//////////////////////////////////////////////////////////////////////////
25
26
#ifndef ROOT_TNamed
27
#include "
TNamed.h
"
28
#endif
29
30
class
TH1
;
31
32
class
TSpectrumTransform
:
public
TNamed
{
33
34
protected
:
35
Int_t
fSize
;
//length of transformed data
36
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)
37
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
38
Int_t
fDirection
;
//forward or inverse transform
39
Int_t
fXmin
;
//first channel of filtered or enhanced region
40
Int_t
fXmax
;
//last channel of filtered or enhanced region
41
Double_t
fFilterCoeff
;
//value set in the filtered region
42
Double_t
fEnhanceCoeff
;
//multiplication coefficient applied in enhanced region;
43
44
public
:
45
enum
{
46
kTransformHaar
=0,
47
kTransformWalsh
=1,
48
kTransformCos
=2,
49
kTransformSin
=3,
50
kTransformFourier
=4,
51
kTransformHartley
=5,
52
kTransformFourierWalsh
=6,
53
kTransformFourierHaar
=7,
54
kTransformWalshHaar
=8,
55
kTransformCosWalsh
=9,
56
kTransformCosHaar
=10,
57
kTransformSinWalsh
=11,
58
kTransformSinHaar
=12,
59
kTransformForward
=0,
60
kTransformInverse
=1
61
};
62
TSpectrumTransform
();
63
TSpectrumTransform
(
Int_t
size);
64
virtual
~TSpectrumTransform
();
65
66
protected
:
67
void
BitReverse
(
Double_t
*working_space,
Int_t
num);
68
void
BitReverseHaar
(
Double_t
*working_space,
Int_t
shift,
Int_t
num,
Int_t
start);
69
void
Fourier
(
Double_t
*working_space,
Int_t
num,
Int_t
hartley,
Int_t
direction,
Int_t
zt_clear);
70
Int_t
GeneralExe
(
Double_t
*working_space,
Int_t
zt_clear,
Int_t
num,
Int_t
degree,
Int_t
type
);
71
Int_t
GeneralInv
(
Double_t
*working_space,
Int_t
num,
Int_t
degree,
Int_t
type
);
72
void
Haar
(
Double_t
*working_space,
Int_t
num,
Int_t
direction);
73
void
Walsh
(
Double_t
*working_space,
Int_t
num);
74
75
public
:
76
void
Enhance
(
const
Double_t
*source,
Double_t
*destVector);
77
void
FilterZonal
(
const
Double_t
*source,
Double_t
*destVector);
78
void
SetDirection
(
Int_t
direction);
79
void
SetEnhanceCoeff
(
Double_t
enhanceCoeff);
80
void
SetFilterCoeff
(
Double_t
filterCoeff);
81
void
SetRegion
(
Int_t
xmin
,
Int_t
xmax
);
82
void
SetTransformType
(
Int_t
transType,
Int_t
degree);
83
void
Transform
(
const
Double_t
*source,
Double_t
*destVector);
84
85
ClassDef
(
TSpectrumTransform
,1)
//Spectrum Transformer, it calculates classic orthogonal 1D transforms
86
};
87
88
89
#endif
90
TSpectrumTransform::fXmax
Int_t fXmax
Definition:
TSpectrumTransform.h:40
TSpectrumTransform::~TSpectrumTransform
virtual ~TSpectrumTransform()
destructor
Definition:
TSpectrumTransform.cxx:115
xmin
float xmin
Definition:
THbookFile.cxx:93
TSpectrumTransform::kTransformForward
Definition:
TSpectrumTransform.h:59
TSpectrumTransform::fDirection
Int_t fDirection
Definition:
TSpectrumTransform.h:38
TSpectrumTransform::SetTransformType
void SetTransformType(Int_t transType, Int_t degree)
SETTER FUNCION.
Definition:
TSpectrumTransform.cxx:2691
TSpectrumTransform::fSize
Int_t fSize
Definition:
TSpectrumTransform.h:35
Int_t
int Int_t
Definition:
RtypesCore.h:41
TSpectrumTransform::kTransformFourier
Definition:
TSpectrumTransform.h:50
TSpectrumTransform::kTransformSinWalsh
Definition:
TSpectrumTransform.h:57
TSpectrumTransform
Advanced 1-dimentional orthogonal transform functions.
Definition:
TSpectrumTransform.h:32
TSpectrumTransform::fXmin
Int_t fXmin
Definition:
TSpectrumTransform.h:39
TSpectrumTransform::kTransformHaar
Definition:
TSpectrumTransform.h:46
TSpectrumTransform::kTransformInverse
Definition:
TSpectrumTransform.h:60
TNamed.h
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:254
TSpectrumTransform::kTransformSinHaar
Definition:
TSpectrumTransform.h:58
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition:
TNamed.h:33
TSpectrumTransform::Transform
void Transform(const Double_t *source, Double_t *destVector)
ONE-DIMENSIONAL TRANSFORM FUNCTION This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:744
TSpectrumTransform::SetEnhanceCoeff
void SetEnhanceCoeff(Double_t enhanceCoeff)
SETTER FUNCION.
Definition:
TSpectrumTransform.cxx:2771
TSpectrumTransform::FilterZonal
void FilterZonal(const Double_t *source, Double_t *destVector)
ONE-DIMENSIONAL FILTER ZONAL FUNCTION This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:1487
TSpectrumTransform::kTransformCosWalsh
Definition:
TSpectrumTransform.h:55
TSpectrumTransform::fFilterCoeff
Double_t fFilterCoeff
Definition:
TSpectrumTransform.h:41
TSpectrumTransform::GeneralInv
Int_t GeneralInv(Double_t *working_space, Int_t num, Int_t degree, Int_t type)
AUXILIARY FUNCION // // This function calculates inverse generalized (mixed) transforms // Function p...
Definition:
TSpectrumTransform.cxx:612
TSpectrumTransform::kTransformWalshHaar
Definition:
TSpectrumTransform.h:54
TSpectrumTransform::kTransformHartley
Definition:
TSpectrumTransform.h:51
TSpectrumTransform::kTransformSin
Definition:
TSpectrumTransform.h:49
TSpectrumTransform::SetRegion
void SetRegion(Int_t xmin, Int_t xmax)
SETTER FUNCION.
Definition:
TSpectrumTransform.cxx:2723
TSpectrumTransform::Haar
void Haar(Double_t *working_space, Int_t num, Int_t direction)
AUXILIARY FUNCION // // This function calculates Haar transform of a part of data // Function paramet...
Definition:
TSpectrumTransform.cxx:131
xmax
float xmax
Definition:
THbookFile.cxx:93
TSpectrumTransform::BitReverse
void BitReverse(Double_t *working_space, Int_t num)
AUXILIARY FUNCION // // This function carries out bir-reverse reordering of data // Function paramete...
Definition:
TSpectrumTransform.cxx:272
TSpectrumTransform::GeneralExe
Int_t GeneralExe(Double_t *working_space, Int_t zt_clear, Int_t num, Int_t degree, Int_t type)
AUXILIARY FUNCION // // This function calculates generalized (mixed) transforms of different degrees/...
Definition:
TSpectrumTransform.cxx:491
Double_t
double Double_t
Definition:
RtypesCore.h:55
TSpectrumTransform::kTransformCos
Definition:
TSpectrumTransform.h:48
type
int type
Definition:
TGX11.cxx:120
TH1
The TH1 histogram class.
Definition:
TH1.h:80
TSpectrumTransform::fEnhanceCoeff
Double_t fEnhanceCoeff
Definition:
TSpectrumTransform.h:42
TSpectrumTransform::fTransformType
Int_t fTransformType
Definition:
TSpectrumTransform.h:36
TSpectrumTransform::fDegree
Int_t fDegree
Definition:
TSpectrumTransform.h:37
TSpectrumTransform::SetFilterCoeff
void SetFilterCoeff(Double_t filterCoeff)
SETTER FUNCION.
Definition:
TSpectrumTransform.cxx:2758
TSpectrumTransform::TSpectrumTransform
TSpectrumTransform()
TSpectrumTransform::kTransformWalsh
Definition:
TSpectrumTransform.h:47
TSpectrumTransform::Enhance
void Enhance(const Double_t *source, Double_t *destVector)
ONE-DIMENSIONAL ENHANCE ZONAL FUNCTION This function transforms the source spectrum.
Definition:
TSpectrumTransform.cxx:2096
TSpectrumTransform::Fourier
void Fourier(Double_t *working_space, Int_t num, Int_t hartley, Int_t direction, Int_t zt_clear)
AUXILIARY FUNCION // // This function calculates Fourier based transform of a part of data // Functio...
Definition:
TSpectrumTransform.cxx:315
TSpectrumTransform::Walsh
void Walsh(Double_t *working_space, Int_t num)
AUXILIARY FUNCION // // This function calculates Walsh transform of a part of data // Function parame...
Definition:
TSpectrumTransform.cxx:214
TSpectrumTransform::kTransformCosHaar
Definition:
TSpectrumTransform.h:56
TSpectrumTransform::kTransformFourierHaar
Definition:
TSpectrumTransform.h:53
TSpectrumTransform::SetDirection
void SetDirection(Int_t direction)
SETTER FUNCION.
Definition:
TSpectrumTransform.cxx:2741
TSpectrumTransform::kTransformFourierWalsh
Definition:
TSpectrumTransform.h:52
TSpectrumTransform::BitReverseHaar
void BitReverseHaar(Double_t *working_space, Int_t shift, Int_t num, Int_t start)
AUXILIARY FUNCION // // This function carries out bir-reverse reordering for Haar transform // Functi...
Definition:
TSpectrumTransform.cxx:441