GET library
GETSignalModifier.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETSignalModifier.hh
3  *
4  * Include file for the GETSignalModifier class.
5  */
6 //======================================================================
7 
8 #ifndef GET_SIGNAL_MODIFIER_HH
9 #define GET_SIGNAL_MODIFIER_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETCommon.hh"
14 #include "GETProcess.hh"
15 
16 //======================================================================
17 /*! \class GETSignalModifier
18  *
19  * GETSignalModifier is the base class for modification of signal
20  * samples (noise, baseline corrections,...).
21  */
23 {
24  //------------------------------------------------------------
25  /*! \object_doc */
27  //------------------------------------------------------------
28 
29  protected:
30 
31  public:
32  //----------------------------------------------------------
33  /** @name Constructors, affectation, destructor */
34  //@{
35  GETSignalModifier ( GETObject & obj );
36  GETSignalModifier ( u_int n = 0, double dt = 0.01 );
37  GETSignalModifier ( const GETSignalModifier & proc );
38  virtual ~GETSignalModifier ( );
39  //@}
40 
41  //----------------------------------------------------------
42  /** @name Signal processing */
43  //@{
44  virtual GETSample * ProcessSample ( GETChannel & channel,
45  u_short info );
46 
47  /*! This is the effective function that processes the \b input sample
48  * and stores the result in the \b result sample.
49  * This function must be defined in the derived classes.
50  * \param sample input sample to be processed
51  * \param result sample where result should be stored
52  * \param channel GET system channel (the samples should correspond to this channel)
53  */
54  virtual GETSample * ProcessSample ( GETSample & sample,
55  GETSample & result,
56  GETChannel & channel ) = 0;
57  //@}
58 
59  //----------------------------------------------------------
60  /** @name ROOT related functions */
61  //@{
62  public:
63 
64  /*! for use within ROOT.*/
66  //@}
67 };
68 
69 
70 //----------------------------------------------------------------------
71 // Inline functions
73 
74 
75 //======================================================================
76 #endif
virtual ~GETSignalModifier()
Definition: GETSignalModifier.cpp:52
Definition: GETChannel.hh:41
GObjectV(GETSignalModifier)
GETSignalModifier(GETObject &obj)
Definition: GETSignalModifier.cpp:20
Definition: GETObject.hh:38
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
ClassDef(GETSignalModifier, 0)
Definition: GETSignalModifier.hh:22
virtual GETSample * ProcessSample(GETChannel &channel, u_short info)
Definition: GETSignalModifier.cpp:80
Definition: GETProcess.hh:32