GET library
GETFilterAgetGaus.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETFilterAgetGaus.hh
3  *
4  * Include file for the GETFilterAgetGaus class.
5  */
6 //======================================================================
7 
8 #ifndef GET_FILTER_AGET_GAUS_HH
9 #define GET_FILTER_AGET_GAUS_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETFilterRef.hh"
14 
15 //======================================================================
16 /*! \class GETFilterAgetGaus
17  *
18  * This class defines a filter adapted for AGet analytical response
19  * function to a Gaus input signal.
20  *
21  * It is based on the optimal filter, considering constant noise
22  * spectral density, corresponding to the reference signal PSD at
23  * cut frequency (see figure for GETFilterRef).
24  *
25  */
27 {
28  //------------------------------------------------------------
29  /*! \object_doc */
31  //------------------------------------------------------------
32 
33  protected:
34  double ref_fwhm; ///< Reference signal width (FWHM)
35  double peaking_time; ///< Reference response peaking time (us)
36 
37  public:
38  //----------------------------------------------------------
39  /** @name Constructors, affectation, destructor */
40  //@{
42  double fcut = 0., double wid = 0., double peak = 0. );
43  GETFilterAgetGaus ( u_int n = 0, double dt = 0.01,
44  double fcut = 0., double wid = 0., double peak = 0. );
45  GETFilterAgetGaus ( const GETFilterAgetGaus & proc );
46  virtual ~GETFilterAgetGaus ( );
47  //@}
48 
49 
50  //----------------------------------------------------------
51  /** @name Initialization functions */
52  //@{
53  virtual void Init ( u_int n, double dt );
54  virtual void SetReference ( double wid, double peak, double fcut = 0.L );
55  virtual void UpdateFilter ( );
56 
57  double GetReferenceFWHM ( ); // inline
58  double GetPeakingTime ( ); // inline
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
75 
76 
77 //======================================================================
78 #endif
ClassDef(GETFilterAgetGaus, 0)
double ref_fwhm
Reference signal width (FWHM)
Definition: GETFilterAgetGaus.hh:34
virtual void SetReference(double wid, double peak, double fcut=0.L)
Definition: GETFilterAgetGaus.cpp:89
GObject(GETFilterAgetGaus)
Definition: GETFilterRef.hh:30
double GetReferenceFWHM()
Definition: GETFilterAgetGaus.icc:9
virtual void Init(u_int n, double dt)
Definition: GETFilterAgetGaus.cpp:73
Definition: GETObject.hh:38
virtual ~GETFilterAgetGaus()
Definition: GETFilterAgetGaus.cpp:60
double peaking_time
Reference response peaking time (us)
Definition: GETFilterAgetGaus.hh:35
GETFilterAgetGaus(GETObject &obj, double fcut=0., double wid=0., double peak=0.)
Definition: GETFilterAgetGaus.cpp:23
virtual void UpdateFilter()
Definition: GETFilterAgetGaus.cpp:103
Definition: GETFilterAgetGaus.hh:26
double GetPeakingTime()
Definition: GETFilterAgetGaus.icc:13