HOPS
HOPS class reference
MHO_CircularFieldRotationCorrection.hh
Go to the documentation of this file.
1 #ifndef MHO_CircularFieldRotationCorrection_HH__
2 #define MHO_CircularFieldRotationCorrection_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_StationModel.hh"
15 #include "MHO_TableContainer.hh"
16 #include "MHO_UnaryOperator.hh"
17 
18 #include "MHO_Reducer.hh"
19 
20 namespace hops
21 {
22 
35 {
36  public:
39 
45  void SetPolProductSet(std::vector< std::string >& pp_vec) { fPolProductSet = pp_vec; };
46 
52  void SetFourfitReferenceTimeVexString(std::string frt_vex_string) { fFourfitRefTimeString = frt_vex_string; };
53 
63  void SetReferenceStationCoordinateData(station_coord_type* ref_data) { fRefData = ref_data; };
64 
70  void SetRemoteStationCoordinateData(station_coord_type* rem_data) { fRemData = rem_data; };
71 
77  void SetReferenceMountType(std::string mt) { fRefMountType = mt; }
78 
84  void SetRemoteMountType(std::string mt) { fRemMountType = mt; }
85 
86  protected:
94  virtual bool ExecuteInPlace(visibility_type* in) override;
95 
96  private:
103  int DetermineMountCode(const std::string& mount) const;
104 
110  void PreMultiply(visibility_type* in);
111 
118  std::complex< double > GetPrefactor(std::string pp_label);
119 
120  std::vector< std::string > fPolProductSet;
121 
122  double fRefParAngle;
123  double fRemParAngle;
124  double fRefElevation;
125  double fRemElevation;
126 
127  std::string fFourfitRefTimeString;
128 
129  std::string fRefMountType;
130  std::string fRemMountType;
131 
132  station_coord_type* fRefData;
133  station_coord_type* fRemData;
134 
135  MHO_StationModel fRefModel;
136  MHO_StationModel fRemModel;
137 };
138 
139 } // namespace hops
140 
141 #endif
Class MHO_CircularFieldRotationCorrection.
Definition: MHO_CircularFieldRotationCorrection.hh:35
void SetRemoteStationCoordinateData(station_coord_type *rem_data)
Setter for remote station coordinate data.
Definition: MHO_CircularFieldRotationCorrection.hh:70
void SetRemoteMountType(std::string mt)
Setter for remote station mount type {"no_mount", "cassegrain", "nasmythleft", or "nasmythright"}.
Definition: MHO_CircularFieldRotationCorrection.hh:84
virtual bool ExecuteInPlace(visibility_type *in) override
Applies a circular field rotation correction to visibility data in-place.
Definition: MHO_CircularFieldRotationCorrection.cc:92
void SetPolProductSet(std::vector< std::string > &pp_vec)
Setter for pol product set.
Definition: MHO_CircularFieldRotationCorrection.hh:45
void SetFourfitReferenceTimeVexString(std::string frt_vex_string)
Setter for fourfit reference time vex string.
Definition: MHO_CircularFieldRotationCorrection.hh:52
void SetReferenceMountType(std::string mt)
Setter for reference station mount type {"no_mount", "cassegrain", "nasmythleft", or "nasmythright"}.
Definition: MHO_CircularFieldRotationCorrection.hh:77
MHO_CircularFieldRotationCorrection()
Definition: MHO_CircularFieldRotationCorrection.cc:77
void SetReferenceStationCoordinateData(station_coord_type *ref_data)
Setter for reference station coordinate data.
Definition: MHO_CircularFieldRotationCorrection.hh:63
virtual ~MHO_CircularFieldRotationCorrection()
Definition: MHO_CircularFieldRotationCorrection.cc:90
Class MHO_StationModel.
Definition: MHO_StationModel.hh:22
Class MHO_TableContainer.
Definition: MHO_TableContainer.hh:36
Class MHO_UnaryOperator.
Definition: MHO_UnaryOperator.hh:24
Definition: MHO_AdhocFlagging.hh:18