GET library
GETResponse.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETResponse.hh
3  *
4  * Include file for the GETResponse class.
5  */
6 //======================================================================
7 
8 #ifndef GET_RESPONSE_HH
9 #define GET_RESPONSE_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETCommon.hh"
14 #include "GETProcess.hh"
15 
16 //======================================================================
17 /*! \class GETResponse
18  *
19  * This class defines a simple response function for the GET input signal.
20  * The response is defined by the sample for convolution / deconvolution
21  * of input (test) / output signals.
22  */
23 class GETResponse : public GETProcess
24 {
25  //------------------------------------------------------------
26  /*! \object_doc */
28  //------------------------------------------------------------
29 
30  protected:
31  GETSample response_fct; ///< Response function for an AGET channel
32 
33  public:
34  //----------------------------------------------------------
35  /** @name Constructors, affectation, destructor */
36  //@{
37  GETResponse ( GETObject & obj );
38  GETResponse ( u_int n = 0, double dt = 0.01 );
39  GETResponse ( const GETResponse & proc );
40  virtual ~GETResponse ( );
41  //@}
42 
43  //----------------------------------------------------------
44  /** @name Initialization functions */
45  //@{
46  virtual void Reset ( );
47  virtual void Init ( u_int n, double dt );
48  //@}
49 
50  //----------------------------------------------------------
51  /** @name Access to class data */
52  //@{
53  const GETSample * GetResponsePtr ( ) const; // inline
54  GETSample * GetResponsePtr ( ); // inline
55  const GETSample & GetResponse ( ) const; // inline
56  GETSample & GetResponse ( ); // inline
57  //@}
58 
59 
60  //----------------------------------------------------------
61  /** @name Signal processing */
62  //@{
63  virtual GETSample * ProcessSample ( GETChannel & channel,
64  u_short info );
65 
66  virtual GETSample * ProcessSample ( GETSample & sample, // inline
67  GETSample & result,
68  GETChannel & channel );
69 
70  virtual GETSample * ProcessSample ( GETSample & sample,
71  GETSample & result,
72  GETChannel & channel,
73  bool inv );
74  //@}
75 
76  //----------------------------------------------------------
77  /** @name ROOT related functions */
78  //@{
79  public:
80 
81  /*! for use within ROOT.*/
83  //@}
84 };
85 
86 
87 //----------------------------------------------------------------------
88 // Inline functions
89 #include "icc/GETResponse.icc"
90 
91 
92 //======================================================================
93 #endif
virtual GETSample * ProcessSample(GETChannel &channel, u_short info)
Definition: GETResponse.cpp:133
const GETSample & GetResponse() const
Definition: GETResponse.icc:17
Definition: GETResponse.hh:23
Definition: GETChannel.hh:41
GETSample response_fct
Response function for an AGET channel.
Definition: GETResponse.hh:31
GObject(GETResponse)
Definition: GETObject.hh:38
ClassDef(GETResponse, 0)
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
virtual ~GETResponse()
Definition: GETResponse.cpp:70
virtual void Init(u_int n, double dt)
Definition: GETResponse.cpp:95
virtual void Reset()
Definition: GETResponse.cpp:82
Definition: GETProcess.hh:32
GETResponse(GETObject &obj)
Definition: GETResponse.cpp:22
const GETSample * GetResponsePtr() const
Definition: GETResponse.icc:9