HOPS
HOPS class reference
MHO_Passband.hh
Go to the documentation of this file.
1 #ifndef MHO_Passband_HH__
2 #define MHO_Passband_HH__
3 
4 #include <cctype>
5 #include <cmath>
6 #include <complex>
7 #include <map>
8 #include <vector>
9 
10 #include "MHO_Constants.hh"
11 #include "MHO_Message.hh"
12 
14 #include "MHO_TableContainer.hh"
15 #include "MHO_UnaryOperator.hh"
16 
17 namespace hops
18 {
19 
31 class MHO_Passband: public MHO_UnaryOperator< visibility_type >
32 {
33  public:
34  MHO_Passband();
35  virtual ~MHO_Passband();
36 
42  void SetWeights(weight_type* weights) { fWeights = weights; };
43 
54  void SetPassband(double first, double second)
55  {
56  //if second > first then this is an 'exclusion'
57  //telling us this is a chunk of spectrum to cut
58  //this is the legacy behavior
59  if(second < first)
60  {
61  fIsExclusion = true;
62  fLow = second;
63  fHigh = first;
64  }
65  else
66  {
67  //if first < second, then this chunk is the 'passed' band
68  //so everything outside of this range is cut
69  fIsExclusion = false;
70  fLow = first;
71  fHigh = second;
72  }
73  }
74 
75  protected:
83  virtual bool ExecuteInPlace(visibility_type* in) override;
84 
85  private:
86  bool fIsExclusion;
87  double fLow;
88  double fHigh;
89 
90  std::string fBandwidthKey;
91  std::string fSidebandLabelKey;
92  std::string fLowerSideband;
93  std::string fUpperSideband;
94 
95  weight_type* fWeights;
96 };
97 
98 } // namespace hops
99 
100 #endif
Class MHO_Passband.
Definition: MHO_Passband.hh:32
void SetWeights(weight_type *weights)
Setter for weights.
Definition: MHO_Passband.hh:42
MHO_Passband()
Definition: MHO_Passband.cc:8
virtual bool ExecuteInPlace(visibility_type *in) override
Checks and excludes specific passbands within each channel of visibility data.
Definition: MHO_Passband.cc:22
virtual ~MHO_Passband()
Definition: MHO_Passband.cc:20
void SetPassband(double first, double second)
Setter for passband.
Definition: MHO_Passband.hh:54
Class MHO_UnaryOperator.
Definition: MHO_UnaryOperator.hh:24
Definition: MHO_AdhocFlagging.hh:18