ZapWeight.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 __ZapWeight_h
10 #define __ZapWeight_h
11 
12 #include "dsp/Transformation.h"
13 //#include "dsp/WeightedTimeSeries.h"
14 #include "dsp/TimeSeries.h"
15 #include "Reference.h"
16 #include "MJD.h"
17 
18 namespace dsp {
19 
20  class IOManager;
21  class TimeSeries;
22 
24  class ZapWeight: public Transformation<TimeSeries,TimeSeries> {
25 
26  public:
27 
30 
32  ~ZapWeight ();
33 
36  const TimeSeries* get_skfb_input () const;
37 
39  void set_M (unsigned _M);
40 
42  void set_thresholds (float factor);
43 
45  class Engine;
46 
47  void set_engine (Engine*);
48 
49  protected:
50 
52  void transformation ();
53 
56 
59 
61  unsigned M;
62 
63  double ddfb_rate;
64 
65  double skfb_rate;
66 
67  float sigma;
68 
69  float upper_thresh;
70 
71  float lower_thresh;
72 
73  float mega_upper_thresh;
74 
75  float mega_lower_thresh;
76 
77  uint64_t total_idats;
78 
79  uint64_t total_zaps;
80 
81  unsigned debugd;
82 
83  private:
84 
85  };
86 
87  class ZapWeight::Engine : public Reference::Able
88  {
89  public:
90 
91  virtual void setup () = 0;
92 
93  virtual void perform (const TimeSeries* in, TimeSeries* out) = 0;
94 
95  };
96 
97 
98 }
99 
100 #endif
ZapWeight()
Default constructor.
Definition: ZapWeight.C:21
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
void set_skfb_input(TimeSeries *input)
Set the raw/original time series [pre filterbank].
Definition: ZapWeight.C:49
virtual void set_buffering_policy(BufferingPolicy *policy)
Set the policy for buffering input and/or output data.
Definition: Transformation.h:85
Reference::To< Engine > engine
Interface to alternate processing engine (e.g. GPU)
Definition: ZapWeight.h:63
void set_thresholds(float factor)
Set the RFI thresholds with the specified factor.
Definition: ZapWeight.C:65
Arrays of consecutive samples for each polarization and frequency channel.
Definition: TimeSeries.h:29
Reference::To< TimeSeries > skfb_input
The time series containing the SKFilterbank V^2 estimates.
Definition: ZapWeight.h:60
~ZapWeight()
Destructor.
Definition: ZapWeight.C:39
void transformation()
Perform the transformation on the input time series.
Definition: ZapWeight.C:83
unsigned M
The number of adjacent blocks to be used in SK estimator.
Definition: ZapWeight.h:66
Reference::To< const TimeSeries > input
Container from which input data will be read.
Definition: HasInput.h:49
void set_M(unsigned _M)
Set the M factor from the SKFilterbank.
Definition: ZapWeight.C:59

Generated using doxygen 1.8.17