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_min1; ///< Lower time bucket for first range baseline estimate (included)
33  u_short bucket_max1; ///< Uppet time bucket for first range baseline estimate estimate (excluded)
34  u_short bucket_min2; ///< Lower time bucket for second range baseline estimate (included)
35  u_short bucket_max2; ///< Uppet time bucket for second range baseline estimate estimate (excluded)
36 
37  double ctr1; ///< Center of the first range
38  double ctr2; ///< Center of the second range
39 
40  public:
41  //----------------------------------------------------------
42  /** @name Constructors, affectation, destructor */
43  //@{
44  GETAutoBaseline ( GETObject & obj,
45  u_short itmin1 = 0, u_short itmax1 = 0,
46  u_short itmin2 = 0, u_short itmax2 = 0 );
47  GETAutoBaseline ( u_int n = 0, double dt = 0.01,
48  u_short itmin1 = 0, u_short itmax1 = 0,
49  u_short itmin2 = 0, u_short itmax2 = 0 );
50  GETAutoBaseline ( const GETAutoBaseline & proc );
51  virtual ~GETAutoBaseline ( );
52  //@}
53 
54  //----------------------------------------------------------
55  /** @name Process parameters */
56  //@{
57  virtual void SetFirstRange ( u_short itmin, u_short itmax );
58  virtual void SetSecondRange ( u_short itmin, u_short itmax );
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_max1
Uppet time bucket for first range baseline estimate estimate (excluded)
Definition: GETAutoBaseline.hh:33
virtual void SetSecondRange(u_short itmin, u_short itmax)
Definition: GETAutoBaseline.cpp:127
ClassDef(GETAutoBaseline, 0)
Definition: GETChannel.hh:41
double ctr1
Center of the first range.
Definition: GETAutoBaseline.hh:37
u_short bucket_min2
Lower time bucket for second range baseline estimate (included)
Definition: GETAutoBaseline.hh:34
virtual GETSample * ProcessSample(GETSample &sample, GETSample &result, GETChannel &channel)
Definition: GETAutoBaseline.cpp:166
GObject(GETAutoBaseline)
Definition: GETObject.hh:38
GETAutoBaseline(GETObject &obj, u_short itmin1=0, u_short itmax1=0, u_short itmin2=0, u_short itmax2=0)
Definition: GETAutoBaseline.cpp:25
virtual ~GETAutoBaseline()
Definition: GETAutoBaseline.cpp:92
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:31
Definition: GETSignalModifier.hh:22
Definition: GETAutoBaseline.hh:24
virtual void SetFirstRange(u_short itmin, u_short itmax)
Definition: GETAutoBaseline.cpp:104
u_short bucket_min1
Lower time bucket for first range baseline estimate (included)
Definition: GETAutoBaseline.hh:32
u_short bucket_max2
Uppet time bucket for second range baseline estimate estimate (excluded)
Definition: GETAutoBaseline.hh:35
double ctr2
Center of the second range.
Definition: GETAutoBaseline.hh:38