SKMasker.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2010 by Andrew Jameson
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 #ifndef __SKMasker_h
10 #define __SKMasker_h
11 
12 #include "dsp/Transformation.h"
13 #include "dsp/TimeSeries.h"
14 #include "dsp/BitSeries.h"
15 #include "Reference.h"
16 #include "MJD.h"
17 
18 namespace dsp {
19 
20  class IOManager;
21  class TimeSeries;
22 
24  class SKMasker: public Transformation<TimeSeries,TimeSeries> {
25 
26  public:
27 
30 
32  ~SKMasker ();
33 
36 
38  const BitSeries * get_mask_input () const;
39 
41  void set_M (unsigned _M);
42 
44  class Engine;
45 
46  void set_engine (Engine*);
47 
48  protected:
49 
51  void transformation ();
52 
55 
58 
60  unsigned M;
61 
62  double ddfb_rate;
63 
64  double mask_rate;
65 
66  uint64_t total_idats;
67 
68  unsigned debugd;
69 
70  private:
71 
72  };
73 
74  class SKMasker::Engine : public Reference::Able
75  {
76  public:
77  virtual void setup () = 0;
78 
79  virtual void perform (BitSeries* mask, const TimeSeries* in, TimeSeries* out, unsigned M) = 0;
80 
81  };
82 
83 }
84 
85 #endif
~SKMasker()
Destructor.
Definition: SKMasker.C:30
void transformation()
Perform the transformation on the input time series.
Definition: SKMasker.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
Reference::To< Engine > engine
Interface to alternate processing engine (e.g. GPU)
Definition: SKMasker.h:62
Arrays of consecutive samples for each polarization and frequency channel.
Definition: TimeSeries.h:29
Reference::To< BitSeries > mask_input
The time series containing the SKFilterbank V^2 estimates.
Definition: SKMasker.h:59
SKMasker()
Default constructor.
Definition: SKMasker.C:20
A container for storing digitized (generally not floating point) data
Definition: BitSeries.h:35
void set_M(unsigned _M)
Set the M factor from the SKFilterbank.
Definition: SKMasker.C:46
const BitSeries * get_mask_input() const
Get the SK Masked bitseries input.
unsigned M
The number of adjacent blocks to be used in SK estimator.
Definition: SKMasker.h:65
void set_mask_input(BitSeries *input)
Set the SK Masked bitseries input.
Definition: SKMasker.C:41
Reference::To< const TimeSeries > input
Container from which input data will be read.
Definition: HasInput.h:49

Generated using doxygen 1.8.17