GET library
GETCalibProcess.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETCalibProcess.hh
3  *
4  * Include file for the GETCalibProcess class.
5  */
6 //======================================================================
7 
8 #ifndef GET_CALIB_PROCESS_HH
9 #define GET_CALIB_PROCESS_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETSignalModifier.hh"
14 
15 //======================================================================
16 /*! \class GETCalibProcess
17  *
18  * This class defines a (linear) calibration process.
19  *
20  */
22 {
23  //------------------------------------------------------------
24  /*! \object_doc */
26  //------------------------------------------------------------
27 
28  protected:
29  u_short degree; ///< Polynomial degree of the calibration
30  double * coef; ///< Calibration coefficients array
31 
32  public:
33  //----------------------------------------------------------
34  /** @name Constructors, affectation, destructor */
35  //@{
36  GETCalibProcess ( GETObject & obj,
37  double a0 = 0., double a1 = 1. );
38  GETCalibProcess ( u_int n = 0, double dt = 0.01,
39  double a0 = 0., double a1 = 1. );
40  GETCalibProcess ( const GETCalibProcess & proc );
41  virtual ~GETCalibProcess ( );
42  //@}
43 
44  //----------------------------------------------------------
45  /** @name Process parameters */
46  //@{
47  u_short GetDegree ( ) const; // inline
48  virtual void SetDegree ( u_short d );
49 
50  double GetCoefficient ( u_short i ) const; // inline
51  void SetCoefficient ( u_short i, double c ); // inline
52  //@}
53 
54  //----------------------------------------------------------
55  /** @name Signal processing */
56  //@{
57  virtual GETSample * ProcessSample ( GETSample & sample,
58  GETSample & result,
59  GETChannel & channel );
60  //@}
61 
62  //----------------------------------------------------------
63  /** @name ROOT related functions */
64  //@{
65  public:
66  /*! for use within ROOT.*/
68  //@}
69 };
70 
71 
72 //----------------------------------------------------------------------
73 // Inline functions
74 #include "icc/GETCalibProcess.icc"
75 
76 
77 //======================================================================
78 #endif
virtual GETSample * ProcessSample(GETSample &sample, GETSample &result, GETChannel &channel)
Definition: GETCalibProcess.cpp:110
virtual ~GETCalibProcess()
Definition: GETCalibProcess.cpp:62
GETCalibProcess(GETObject &obj, double a0=0., double a1=1.)
Definition: GETCalibProcess.cpp:23
Definition: GETChannel.hh:41
GObject(GETCalibProcess)
double GetCoefficient(u_short i) const
Definition: GETCalibProcess.icc:15
ClassDef(GETCalibProcess, 0)
u_short degree
Polynomial degree of the calibration.
Definition: GETCalibProcess.hh:29
Definition: GETObject.hh:38
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
u_short GetDegree() const
Definition: GETCalibProcess.icc:9
Definition: GETSignalModifier.hh:22
virtual void SetDegree(u_short d)
Definition: GETCalibProcess.cpp:73
Definition: GETCalibProcess.hh:21
double * coef
Calibration coefficients array.
Definition: GETCalibProcess.hh:30
void SetCoefficient(u_short i, double c)
Definition: GETCalibProcess.icc:22