GET library
GETFilterLow2.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETFilterLow2.hh
3  *
4  * Include file for the GETFilterLow2 class.
5  */
6 //======================================================================
7 
8 #ifndef GET_FILTER_LOW2_HH
9 #define GET_FILTER_LOW2_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETFilterCut.hh"
14 
15 //======================================================================
16 /*! \class GETFilterLow2
17  *
18  * This class defines a low pass filter of order 2, with a response
19  * in Fourier space with following form:
20  * \f[
21  F(f) = \frac{1}{1 - \left( \frac{f}{f_{0}} \right)^{2}
22  + j \frac{1}{Q} \frac{f}{f_{0}}}
23  * \f]
24  * where \f$ f_{0} \f$ is the cut frequency and \f$ Q \f$ is the
25  * quality factor:
26  * - if \f$ Q = 0.5 \f$, the filter corresponds to the successive application
27  * of two first order filters;
28  * - if \f$ Q > 0.5 \sqrt{2} \f$ the filter has a pseudo-resonance.
29  */
31 {
32  //------------------------------------------------------------
33  /*! \object_doc */
35  //------------------------------------------------------------
36 
37  protected:
38 
39  double quality_factor; ///< Quality factor of the filter
40 
41  public:
42  //----------------------------------------------------------
43  /** @name Constructors, affectation, destructor */
44  //@{
45  GETFilterLow2 ( u_int n = 0, double dt = 0.01L,
46  double fcut = 0.L, double q = 0.7071067811865475244008443621048490L );
47  GETFilterLow2 ( const GETFilterLow2 & proc );
48  virtual ~GETFilterLow2 ( );
49  //@}
50 
51 
52  //----------------------------------------------------------
53  /** @name Initialization functions */
54  //@{
55  virtual void SetQualityFactor ( double q );
56  double GetQualityFactor ( ) const; // inline
57 
58  virtual void UpdateFilter ( );
59  //@}
60 
61  //----------------------------------------------------------
62  /** @name ROOT related functions */
63  //@{
64  public:
65 
66  /*! for use within ROOT.*/
68  //@}
69 };
70 
71 
72 //----------------------------------------------------------------------
73 // Inline functions
74 #include "icc/GETFilterLow2.icc"
75 
76 
77 //======================================================================
78 #endif
GETFilterLow2(u_int n=0, double dt=0.01L, double fcut=0.L, double q=0.7071067811865475244008443621048490L)
Definition: GETFilterLow2.cpp:20
virtual void UpdateFilter()
Definition: GETFilterLow2.cpp:66
virtual ~GETFilterLow2()
Definition: GETFilterLow2.cpp:45
GObject(GETFilterLow2)
Definition: GETFilterLow2.hh:30
virtual void SetQualityFactor(double q)
Definition: GETFilterLow2.cpp:56
double GetQualityFactor() const
Definition: GETFilterLow2.icc:9
double quality_factor
Quality factor of the filter.
Definition: GETFilterLow2.hh:39
ClassDef(GETFilterLow2, 0)
Definition: GETFilterCut.hh:21