GET library
GETFilter.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETFilter.hh
3  *
4  * Include file for the GETFilter class.
5  */
6 //======================================================================
7 
8 #ifndef GET_FILTER_HH
9 #define GET_FILTER_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETCommon.hh"
14 #include "GETProcess.hh"
15 
16 //======================================================================
17 /*! \class GETFilter
18  *
19  * This class defines the filter function for the GET signal processing.
20  */
21 class GETFilter : public GETProcess
22 {
23  //------------------------------------------------------------
24  /*! \object_doc */
26  //------------------------------------------------------------
27 
28  protected:
29  GETSample filter_fct; ///< Filter function for an AGET channel
30 
31  public:
32  //----------------------------------------------------------
33  /** @name Constructors, affectation, destructor */
34  //@{
35  GETFilter ( GETObject & obj );
36  GETFilter ( u_int n = 0, double dt = 0.01 );
37  GETFilter ( const GETFilter & proc );
38  GETFilter ( GETFilter & f1, GETFilter & f2 );
39  virtual ~GETFilter ( );
40  //@}
41 
42  //----------------------------------------------------------
43  /** @name Initialization functions */
44  //@{
45  virtual void Reset ( );
46  virtual void Init ( u_int n, double dt );
47 
48  virtual void SetNormalized ( bool b = true ); // inline
49 
50  virtual void Normalize ( double norm = 1. );
51  virtual void Scale ( double fact = 1. ); // inline
52  //@}
53 
54 
55  //----------------------------------------------------------
56  /** @name Access to class data */
57  //@{
58  const GETSample * GetFilterPtr ( ) const; // inline
59  GETSample * GetFilterPtr ( ); // inline
60  const GETSample & GetFilter ( ) const; // inline
61  GETSample & GetFilter ( ); // inline
62  //@}
63 
64  //----------------------------------------------------------
65  /** @name Signal processing */
66  //@{
67  virtual GETSample * ProcessSample ( GETChannel & channel, // inline
68  u_short info = GET::signalOut );
69 
70  virtual GETSample * ProcessSample ( GETSample & sample,
71  GETSample & result,
72  GETChannel & channel );
73  //@}
74 
75  //----------------------------------------------------------
76  /** @name ROOT related functions */
77  //@{
78  public:
79 
80  /*! for use within ROOT.*/
82  //@}
83 };
84 
85 
86 //----------------------------------------------------------------------
87 // Inline functions
88 #include "icc/GETFilter.icc"
89 
90 
91 //======================================================================
92 #endif
static const u_short signalOut
Output (experimental data) signal sample.
Definition: GETCommon.hh:104
virtual void SetNormalized(bool b=true)
Definition: GETFilter.icc:14
Definition: GETFilter.hh:21
Definition: GETChannel.hh:41
virtual GETSample * ProcessSample(GETChannel &channel, u_short info=GET::signalOut)
Definition: GETFilter.cpp:168
Definition: GETObject.hh:38
virtual ~GETFilter()
Definition: GETFilter.cpp:88
virtual void Scale(double fact=1.)
Definition: GETFilter.icc:20
virtual void Init(u_int n, double dt)
Definition: GETFilter.cpp:113
virtual void Normalize(double norm=1.)
Definition: GETFilter.cpp:135
const GETSample * GetFilterPtr() const
Definition: GETFilter.icc:25
ClassDef(GETFilter, 0)
GETFilter(GETObject &obj)
Definition: GETFilter.cpp:20
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
const GETSample & GetFilter() const
Definition: GETFilter.icc:33
GETSample filter_fct
Filter function for an AGET channel.
Definition: GETFilter.hh:29
Definition: GETProcess.hh:32
virtual void Reset()
Definition: GETFilter.cpp:100
GObject(GETFilter)