Logo coherent WaveBurst  
Library Reference Guide
Logo
Meyer.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 // Meyer wavelets using Fast Wavelet Transform
23 // References:
24 //--------------------------------------------------------------------
25 
26 //$Id: Meyer.hh,v 0.2 2001/08/06 19:37:00 klimenko Exp $
27 #ifndef MEYER_HH
28 #define MEYER_HH
29 
30 #include "WaveDWT.hh"
31 
32 //namespace datacondAPI {
33 //namespace wat {
34 
35 template<class DataType_t>
36 class Meyer : public WaveDWT<DataType_t>
37 {
38  private:
39 
40  //: forward LP filter coefficients.
41  double *pLForward; //!
42  //: inverse LP filter coefficients.
43  double *pLInverse; //!
44  //: forward LP filter coefficients.
45  double *pHForward; //!
46  //: inverse LP filter coefficients.
47  double *pHInverse; //!
48 
49  void setFilter();
50 
51  public:
52 
53  //: default construct
54  Meyer();
55 
56  //: construct from base class
57  Meyer(const Wavelet &);
58 
59  //: copy constructors
60  Meyer(const Meyer<DataType_t> &);
61 
62  //: construct from wavelet parameters
63  Meyer(int m, int tree=0, enum BORDER border=B_CYCLE);
64 
65  //: destructor
66  virtual ~Meyer();
67 
68  //: Duplicate on heap
69  virtual Meyer* Clone() const;
70 
71  //: calculate wavelet filter
72  //!param: taper function order n
73  //!param: beta(n,n) - value of Euler's beta function
74  //!param: integration step
75  double filter(int, double, double=1.e-6);
76 
77  // get maximum possible level of decomposition
78  int getMaxLevel();
79 
80  //: decomposition method
81  virtual void forward(int level, int layer);
82  //: reconstruction method
83  virtual void inverse(int level, int layer);
84 
85  ClassDef(Meyer,1);
86 
87 }; // class Meyer
88 
89 //}; // namespace wat
90 //}; // namespace datacondAPI
91 
92 #endif // MEYER_HH
93 
TTree * tree
Definition: TimeSortTree.C:20
double * pLInverse
Definition: Meyer.hh:43
void setFilter()
Definition: Meyer.cc:628
BORDER
Definition: Wavelet.hh:36
int m
Definition: cwb_net.C:28
double filter(int, double, double=1.e-6)
param: taper function order n param: beta(n,n) - value of Euler&#39;s beta function param: integration st...
Definition: Meyer.cc:585
virtual void inverse(int level, int layer)
Definition: Meyer.cc:715
virtual ~Meyer()
Definition: Meyer.cc:541
Meyer()
Definition: Meyer.cc:496
virtual void forward(int level, int layer)
Definition: Meyer.cc:698
double e
virtual Meyer * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
Definition: Meyer.cc:551
double * pHInverse
Definition: Meyer.hh:47
Definition: Meyer.hh:36
double * pHForward
Definition: Meyer.hh:45
int getMaxLevel()
Definition: Meyer.cc:557
double * pLForward
Definition: Meyer.hh:41