Logo coherent WaveBurst  
Library Reference Guide
Logo
Symlet.hh
Go to the documentation of this file.
1 /*
2 # Copyright (C) 2019 Sergey Klimenko
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17 
18 
19 // Wavelet Analysis Tool
20 //--------------------------------------------------------------------
21 // Implementation of
22 // Symlet wavelets using Fast Wavelet Transform
23 // References:
24 // I.Daubechies, Ten lectures on wavelets
25 // ISBN 0-89871-274-2, 1992
26 //--------------------------------------------------------------------
27 
28 //$Id: Symlet.hh,v 0.2 2001/08/06 19:37:00 klimenko Exp $
29 #ifndef SYMLET_HH
30 #define SYMLET_HH
31 
32 #include "WaveDWT.hh"
33 
34 //namespace datacondAPI {
35 //namespace wat {
36 
37 template<class DataType_t>
38 class Symlet : public WaveDWT<DataType_t>
39 {
40  private:
41 
42  //: forward LP filter coefficients.
43  double *pLForward; //!
44  //: inverse LP filter coefficients.
45  double *pLInverse; //!
46  //: forward LP filter coefficients.
47  double *pHForward; //!
48  //: inverse LP filter coefficients.
49  double *pHInverse; //!
50 
51  void setFilter();
52 
53  public:
54 
55  //: construct from base class
56  Symlet(const Wavelet &);
57 
58  //: copy constructors
59  Symlet(const Symlet<DataType_t> &);
60 
61  //: construct from wavelet parameters
62  Symlet(int order=4, int tree=0, enum BORDER border=B_CYCLE);
63 
64  //: destructor
65  virtual ~Symlet();
66 
67  //: Duplicate on heap
68  virtual Symlet* Clone() const;
69 
70  //: decomposition method
71  virtual void forward(int level, int layer);
72  //: reconstruction method
73  virtual void inverse(int level, int layer);
74 
75  ClassDef(Symlet,1)
76 
77 }; // class Symlet
78 
79 //}; // namespace wat
80 //}; // namespace datacondAPI
81 
82 #endif // SYMLET_HH
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
TTree * tree
Definition: TimeSortTree.C:20
double * pLForward
Definition: Symlet.hh:43
Symlet(const Wavelet &)
Definition: Symlet.cc:359
BORDER
Definition: Wavelet.hh:36
virtual void forward(int level, int layer)
Definition: Symlet.cc:467
double * pHForward
Definition: Symlet.hh:47
virtual ~Symlet()
Definition: Symlet.cc:381
virtual void inverse(int level, int layer)
Definition: Symlet.cc:476
void setFilter()
Definition: Symlet.cc:397
double * pHInverse
Definition: Symlet.hh:49
Definition: Symlet.hh:38
virtual Symlet * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
Definition: Symlet.cc:391
double * pLInverse
Definition: Symlet.hh:45