HOPS
HOPS class reference
MHO_NotchComb.hh
Go to the documentation of this file.
1 #ifndef MHO_NotchComb_HH__
2 #define MHO_NotchComb_HH__
3 
4 #include <cctype>
5 #include <cmath>
6 #include <complex>
7 #include <map>
8 #include <utility>
9 #include <vector>
10 
11 #include "MHO_Constants.hh"
12 #include "MHO_MathUtilities.hh"
13 #include "MHO_Message.hh"
14 
16 #include "MHO_TableContainer.hh"
17 #include "MHO_UnaryOperator.hh"
18 
19 namespace hops
20 {
21 
33 class MHO_NotchComb: public MHO_UnaryOperator< visibility_type >
34 {
35  public:
36  MHO_NotchComb();
37  virtual ~MHO_NotchComb();
38 
44  void SetWeights(weight_type* weights) { fWeights = weights; };
45 
46  //starting frequency offset (assumed to be zero by default)
47  void SetNotchOffset(double offset) { fNotchOffset = offset; }
48 
49  double GetNotchOffset() const { return fNotchOffset; }
50 
51  //spacing between the notches
52  void SetNotchPeriod(double period) { fNotchPeriod = period; }
53 
54  double GetNotchPeriod() const { return fNotchPeriod; }
55 
56  //notch width must be less than the notch period!
57  void SetNotchWidth(double width) { fNotchWidth = width; }
58 
59  double GetNotchWidth() const { return fNotchWidth; }
60 
61  protected:
69  virtual bool ExecuteInPlace(visibility_type* in) override;
70 
71  private:
72  std::string fBandwidthKey;
73  std::string fSidebandLabelKey;
74  std::string fLowerSideband;
75  std::string fUpperSideband;
76 
77  weight_type* fWeights;
78 
79  double fNotchOffset; //MHz
80  double fNotchPeriod; //MHz
81  double fNotchWidth; //MHz
82 };
83 
84 } // namespace hops
85 
86 #endif
Class MHO_NotchComb.
Definition: MHO_NotchComb.hh:34
void SetNotchOffset(double offset)
Definition: MHO_NotchComb.hh:47
void SetNotchPeriod(double period)
Definition: MHO_NotchComb.hh:52
double GetNotchPeriod() const
Definition: MHO_NotchComb.hh:54
virtual ~MHO_NotchComb()
Definition: MHO_NotchComb.cc:20
void SetNotchWidth(double width)
Definition: MHO_NotchComb.hh:57
void SetWeights(weight_type *weights)
Setter for weights.
Definition: MHO_NotchComb.hh:44
MHO_NotchComb()
Definition: MHO_NotchComb.cc:8
virtual bool ExecuteInPlace(visibility_type *in) override
Applies filter to channels and spectral points based on defined notches.
Definition: MHO_NotchComb.cc:22
double GetNotchOffset() const
Definition: MHO_NotchComb.hh:49
double GetNotchWidth() const
Definition: MHO_NotchComb.hh:59
Class MHO_UnaryOperator.
Definition: MHO_UnaryOperator.hh:24
Definition: MHO_AdhocFlagging.hh:18