GET library
GETProcessSerie.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETProcessSerie.hh
3  *
4  * Include file for the GETProcessSerie class.
5  */
6 //======================================================================
7 
8 #ifndef GET_PROCESS_SERIE_HH
9 #define GET_PROCESS_SERIE_HH
10 
11 //----------------------------------------------------------------------
12 
13 #include "GETCommon.hh"
14 #include "GETProcess.hh"
15 #include "GETProcessLink.hh"
16 
17 #include "GListT.hh"
18 
19 //======================================================================
20 /*! \class GETProcessSerie
21  *
22  * GETProcessSerie defines a list of processes to be applyied
23  * sequentially.
24  * Actually the class is a list of GETProcessLink objects, not of
25  * GETProcess, so that each process added can be added either
26  * locally or externally.
27  *
28  */
29 class GETProcessSerie : public GETProcess, protected GListT<GETProcessLink>
30 {
31  //------------------------------------------------------------
32  /*! \object_doc */
34  //------------------------------------------------------------
35 
36  public:
37  using GListT<GETProcessLink>::Begin;
38  using GListT<GETProcessLink>::Null;
39  using GListT<GETProcessLink>::End;
40 
41  protected:
42 
43  public:
44  //----------------------------------------------------------
45  /** @name Constructors, affectation, destructor */
46  //@{
47  GETProcessSerie ( GETObject & obj );
48  GETProcessSerie ( u_int n = 0, double dt = 0.01 );
49  GETProcessSerie ( const GETProcessSerie & proc );
50  virtual ~GETProcessSerie ( );
51  //@}
52 
53  //----------------------------------------------------------
54  /** @name Managing the list of processes */
55  //@{
56  virtual GETProcess * AddProcess ( GETProcess * ptr );
57  virtual GETProcess * AddProcess ( GETProcess & obj );
58 
59  //@}
60 
61  //----------------------------------------------------------
62  /** @name Signal processing */
63  //@{
64  virtual GETSample * ProcessSample ( GETChannel & channel,
65  u_short info );
66 
67  virtual GETSample * ProcessSample ( GETSample & sample,
68  GETSample & result,
69  GETChannel & channel );
70  //@}
71 
72  //----------------------------------------------------------
73  /** @name ROOT related functions */
74  //@{
75  public:
76 
77  /*! for use within ROOT.*/
79  //@}
80 };
81 
82 
83 //----------------------------------------------------------------------
84 // Inline functions
85 #include "icc/GETProcessSerie.icc"
86 
87 
88 //======================================================================
89 #endif
virtual GETProcess * AddProcess(GETProcess *ptr)
Definition: GETProcessSerie.cpp:72
virtual ~GETProcessSerie()
Definition: GETProcessSerie.cpp:55
Definition: GETChannel.hh:41
Definition: GETProcessSerie.hh:29
ClassDef(GETProcessSerie, 0)
Definition: GETObject.hh:38
GETProcessSerie(GETObject &obj)
Definition: GETProcessSerie.cpp:19
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:27
GObject(GETProcessSerie)
Definition: GETProcess.hh:32
virtual GETSample * ProcessSample(GETChannel &channel, u_short info)
Definition: GETProcessSerie.cpp:134