HOPS
HOPS class reference
MHO_FringeRotation.hh
Go to the documentation of this file.
1 #ifndef MHO_FringeRotation_HH__
2 #define MHO_FringeRotation_HH__
3 
4 #include <cmath>
5 #include <complex>
6 
7 namespace hops
8 {
9 
22 {
23  public:
25  virtual ~MHO_FringeRotation(){};
26 
27  //virtual function (can be pointed to different implementations)
39  virtual std::complex< double > vrot(double time_delta, double freq, double ref_freq, double dr, double mbd) const;
40 
46  void SetSBDSeparation(double sbd_sep) { fSBDSep = sbd_sep; };
47 
53  void SetSBDMax(double sbd_max) { fSBDMax = sbd_max; }
54 
60  void SetSBDMaxBin(int sbd_max_bin) { fSBDMaxBin = sbd_max_bin; }
61 
67  void SetNSBDBins(int n_sbd_bins) { fNSBDBins = n_sbd_bins; }
68 
73  void SetSideband(int sb) { fSideband = sb; } //1 is USB, 0 if DSB, -1 if LSB
74 
78  void SetOptimizeClosureTrue() { fOptimizeClosure = true; }
79 
83  void SetOptimizeClosureFalse() { fOptimizeClosure = false; }
84 
85  private:
86  static const std::complex< double > fImagUnit;
87 
98  std::complex< double > vrot_v1(double time_delta, double freq, double ref_freq, double dr, double mbd) const;
99 
106  double calc_sideband_correction(double mbd) const;
107 
108  int fSideband;
109  int fNSBDBins;
110  int fSBDMaxBin;
111  double fSBDMax;
112  double fSBDSep;
113  bool fOptimizeClosure;
114 };
115 
116 } // namespace hops
117 
118 #endif
Class MHO_FringeRotation.
Definition: MHO_FringeRotation.hh:22
void SetSBDMax(double sbd_max)
Setter for sbd max.
Definition: MHO_FringeRotation.hh:53
void SetNSBDBins(int n_sbd_bins)
Setter for N sbd bins.
Definition: MHO_FringeRotation.hh:67
void SetSBDMaxBin(int sbd_max_bin)
Setter for sbd max bin.
Definition: MHO_FringeRotation.hh:60
void SetOptimizeClosureTrue()
Setter for optimize closure true.
Definition: MHO_FringeRotation.hh:78
virtual ~MHO_FringeRotation()
Definition: MHO_FringeRotation.hh:25
MHO_FringeRotation()
Definition: MHO_FringeRotation.cc:7
void SetOptimizeClosureFalse()
Setter for optimize closure false.
Definition: MHO_FringeRotation.hh:83
void SetSideband(int sb)
Setter for sideband - passes the sideband information if optimize_closure requires single-sideband co...
Definition: MHO_FringeRotation.hh:73
virtual std::complex< double > vrot(double time_delta, double freq, double ref_freq, double dr, double mbd) const
Calculates fringe rotation for given delay, delay-rate, time and frequency difference.
Definition: MHO_FringeRotation.cc:19
void SetSBDSeparation(double sbd_sep)
Setter for SBD bin separation.
Definition: MHO_FringeRotation.hh:46
Definition: MHO_ChannelLabeler.hh:17