GET library
GETFilterLowN.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETFilterLowN.hh
3  *
4  * Include file for the GETFilterLowN class.
5  */
6 //======================================================================
7 
8 #ifndef GET_FILTER_LOW_N_HH
9 #define GET_FILTER_LOW_N_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETFilterLow2.hh"
14 
15 //======================================================================
16 /*! \class GETFilterLowN
17  *
18  * This class defines a low pass filter of order N.
19  * It is constructed as a composition of first and second order filters:
20  * - if <b>N</b> is even, <b>N/2</b> second order filters;
21  * - if <b>N</b> is odd, <b>(N-1)/2</b> second order filters and a first
22  * order filter.
23  *
24  * All the filters used in the construction have the same cut frequency,
25  * and the second order filters have the same quality factor <b>Q</b>
26  * (see GETFilterLow2).
27  * For filters with different parameters, it is possible to use the
28  * base filter class GETFilter, with composition constructor.
29  */
31 {
32  //------------------------------------------------------------
33  /*! \object_doc */
35  //------------------------------------------------------------
36 
37  protected:
38 
39  u_int order; ///< Filter order
40 
41  public:
42  //----------------------------------------------------------
43  /** @name Constructors, affectation, destructor */
44  //@{
45  GETFilterLowN ( u_int n = 0, double dt = 0.01L,
46  u_int nf = 3,
47  double fcut = 0.L,
48  double q = 0.7071067811865475244008443621048490L );
49  GETFilterLowN ( const GETFilterLowN & proc );
50  virtual ~GETFilterLowN ( );
51  //@}
52 
53 
54  //----------------------------------------------------------
55  /** @name Initialization functions */
56  //@{
57  virtual void SetOrder ( u_int nf );
58  u_int GetOrder ( ) const; // inline
59 
60  virtual void UpdateFilter ( );
61  //@}
62 
63  //----------------------------------------------------------
64  /** @name ROOT related functions */
65  //@{
66  public:
67 
68  /*! for use within ROOT.*/
70  //@}
71 };
72 
73 
74 //----------------------------------------------------------------------
75 // Inline functions
76 #include "icc/GETFilterLowN.icc"
77 
78 
79 //======================================================================
80 #endif
Definition: GETFilterLowN.hh:30
ClassDef(GETFilterLowN, 0)
u_int GetOrder() const
Definition: GETFilterLowN.icc:9
u_int order
Filter order.
Definition: GETFilterLowN.hh:39
virtual void SetOrder(u_int nf)
Definition: GETFilterLowN.cpp:61
GETFilterLowN(u_int n=0, double dt=0.01L, u_int nf=3, double fcut=0.L, double q=0.7071067811865475244008443621048490L)
Definition: GETFilterLowN.cpp:22
Definition: GETFilterLow2.hh:30
GObject(GETFilterLowN)
virtual ~GETFilterLowN()
Definition: GETFilterLowN.cpp:50
virtual void UpdateFilter()
Definition: GETFilterLowN.cpp:71