PScrunch.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2006 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 #ifndef __baseband_dsp_PScrunch_h
10 #define __baseband_dsp_PScrunch_h
11 
12 #include "dsp/Transformation.h"
13 #include "dsp/TimeSeries.h"
14 
15 #include <vector>
16 
17 namespace dsp
18 {
20  class PScrunch : public Transformation<TimeSeries,TimeSeries>
21  {
22 
23  public:
24 
26  PScrunch ();
27 
29  void set_output_state(Signal::State state);
30 
32  void prepare();
33 
35  void prepare_output();
36 
38  void transformation ();
39 
40  class Engine;
41 
43  void set_engine (Engine*);
44 
45  protected:
46 
49 
50  private:
51 
53  unsigned output_npol;
54 
56  Signal::State state;
57 
58  };
59 
60  class PScrunch::Engine : public OwnStream
61  {
62  public:
63 
64  virtual void setup () = 0;
65 
66  virtual void fpt_pscrunch (const dsp::TimeSeries * in,
67  dsp::TimeSeries * out) = 0;
68 
69  virtual void tfp_pscrunch (const dsp::TimeSeries* in,
70  dsp::TimeSeries* out) = 0;
71 
72  };
73 
74 }
75 
76 #endif
void transformation()
combine the polaristionas in the input time series to form the output time series
Definition: PScrunch.C:101
void prepare_output()
prepare the output time-series for the transformation
Definition: PScrunch.C:80
void set_engine(Engine *)
set the alternate processing engine to be used
Definition: PScrunch.C:47
void prepare()
prepare the transformation
Definition: PScrunch.C:52
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
Defines the interface by which Transformations are performed on data.
Definition: Transformation.h:54
PScrunch()
Default constructor.
Definition: PScrunch.C:12
void set_output_state(Signal::State state)
set the output polarisation state for the Pscrunch operation
Definition: PScrunch.C:18
Arrays of consecutive samples for each polarization and frequency channel.
Definition: TimeSeries.h:29
Reference::To< Engine > engine
alternate processing engine
Definition: PScrunch.h:58
@ OrderFPT
Frequency, Polarization, Time (default before 3 October 2008)
Definition: TimeSeries.h:47
@ OrderTFP
Time, Frequency, Polarization (better for many things)
Definition: TimeSeries.h:50

Generated using doxygen 1.8.17