GET library
GETAutoBaseline.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETAutoBaseline.hh
3  *
4  * Include file for the GETAutoBaseline class.
5  */
6 //======================================================================
7 
8 #ifndef GET_AUTO_BASELINE_HH
9 #define GET_AUTO_BASELINE_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETSignalModifier.hh"
14 
15 //======================================================================
16 /*! \class GETAutoBaseline
17  *
18  * This class defines an automatic base-line correction process.
19  *
20  * The automatic baseline computes an average at the beginning of the
21  * sample and another average at the end of the sample, and use them
22  * to perform a linear subtraction to the signal.
23  */
25 {
26  //------------------------------------------------------------
27  /*! \object_doc */
29  //------------------------------------------------------------
30 
31  protected:
32  u_short bucket_num_lo; ///< Number of buckets in the low part of the sample
33  u_short bucket_off_lo; ///< Buckets offset from first bucket
34  u_short bucket_num_hi; ///< Number of buckets in the high part of the sample
35  u_short bucket_off_hi; ///< Buckets offset from last bucket
36 
37  double x_lo; ///< Center of the low part
38  double x_hi; ///< Center of the high part
39 
40  public:
41  //----------------------------------------------------------
42  /** @name Constructors, affectation, destructor */
43  //@{
44  GETAutoBaseline ( GETObject & obj,
45  u_short num_lo = 0, u_short num_hi = 0,
46  u_short off_lo = 0, u_short off_hi = 0 );
47  GETAutoBaseline ( u_int n = 0, double dt = 0.01,
48  u_short num_lo = 0, u_short num_hi = 0,
49  u_short off_lo = 0, u_short off_hi = 0 );
50  GETAutoBaseline ( const GETAutoBaseline & proc );
51  virtual ~GETAutoBaseline ( );
52  //@}
53 
54  //----------------------------------------------------------
55  /** @name Process parameters */
56  //@{
57  virtual void SetBaselineLow ( u_short num_lo, u_short off_lo = 0 );
58  virtual void SetBaselineHigh ( u_short num_hi, u_short off_hi = 0 );
59 
60  //@}
61 
62  //----------------------------------------------------------
63  /** @name Signal processing */
64  //@{
65  virtual GETSample * ProcessSample ( GETSample & sample,
66  GETSample & result,
67  GETChannel & channel );
68  //@}
69 
70  //----------------------------------------------------------
71  /** @name ROOT related functions */
72  //@{
73  public:
74  /*! for use within ROOT.*/
76  //@}
77 };
78 
79 
80 //----------------------------------------------------------------------
81 // Inline functions
82 #include "icc/GETAutoBaseline.icc"
83 
84 
85 //======================================================================
86 #endif
u_short bucket_off_lo
Buckets offset from first bucket.
Definition: GETAutoBaseline.hh:33
GETAutoBaseline(GETObject &obj, u_short num_lo=0, u_short num_hi=0, u_short off_lo=0, u_short off_hi=0)
Definition: GETAutoBaseline.cpp:25
ClassDef(GETAutoBaseline, 0)
Definition: GETChannel.hh:41
u_short bucket_num_lo
Number of buckets in the low part of the sample.
Definition: GETAutoBaseline.hh:32
virtual GETSample * ProcessSample(GETSample &sample, GETSample &result, GETChannel &channel)
Definition: GETAutoBaseline.cpp:149
GObject(GETAutoBaseline)
u_short bucket_off_hi
Buckets offset from last bucket.
Definition: GETAutoBaseline.hh:35
Definition: GETObject.hh:38
double x_lo
Center of the low part.
Definition: GETAutoBaseline.hh:37
virtual ~GETAutoBaseline()
Definition: GETAutoBaseline.cpp:76
double x_hi
Center of the high part.
Definition: GETAutoBaseline.hh:38
u_short bucket_num_hi
Number of buckets in the high part of the sample.
Definition: GETAutoBaseline.hh:34
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
Definition: GETSignalModifier.hh:22
Definition: GETAutoBaseline.hh:24
virtual void SetBaselineHigh(u_short num_hi, u_short off_hi=0)
Definition: GETAutoBaseline.cpp:110
virtual void SetBaselineLow(u_short num_lo, u_short off_lo=0)
Definition: GETAutoBaseline.cpp:88