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 
54 
64  void SetReferenceStationCoordinateData(station_coord_type* ref_data) { fRefData = ref_data; };
65 
71  void SetRemoteStationCoordinateData(station_coord_type* rem_data) { fRemData = rem_data; };
72 
78  void SetReferenceMountType(std::string mt) { fRefMountType = mt; }
79 
85  void SetRemoteMountType(std::string mt) { fRemMountType = mt; }
86 
87  protected:
95  virtual bool InitializeInPlace(visibility_type* in) override;
104  virtual bool InitializeOutOfPlace(const visibility_type* in, visibility_type* out) override;
105 
113  virtual bool ExecuteInPlace(visibility_type* in) override;
122  virtual bool ExecuteOutOfPlace(const visibility_type* in, visibility_type* out) override;
123 
124  private:
131  int DetermineMountCode(const std::string& mount) const;
132 
138  void PreMultiply(visibility_type* in);
139 
146  std::complex< double > GetPrefactor(std::string pp_label);
147 
148  std::vector< std::string > fPolProductSet;
149 
150  double fRefParAngle;
151  double fRemParAngle;
152  double fRefElevation;
153  double fRemElevation;
154 
155  std::string fFourfitRefTimeString;
156 
157  std::string fRefMountType;
158  std::string fRemMountType;
159 
160  station_coord_type* fRefData;
161  station_coord_type* fRemData;
162 
163  MHO_StationModel fRefModel;
164  MHO_StationModel fRemModel;
165 };
166 
167 } // namespace hops
168 
169 #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:71
void SetRemoteMountType(std::string mt)
Setter for remote station mount type {"no_mount", "cassegrain", "nasmythleft", or "nasmythright"}.
Definition: MHO_CircularFieldRotationCorrection.hh:85
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:78
MHO_CircularFieldRotationCorrection()
Definition: MHO_CircularFieldRotationCorrection.cc:77
void SetReferenceStationCoordinateData(station_coord_type *ref_data)
Setter for reference station coordinate data.
Definition: MHO_CircularFieldRotationCorrection.hh:64
virtual bool ExecuteOutOfPlace(const visibility_type *in, visibility_type *out) override
Copies input visibility data and applies pre-multiplication, returning success.
Definition: MHO_CircularFieldRotationCorrection.cc:98
virtual bool InitializeOutOfPlace(const visibility_type *in, visibility_type *out) override
Initializes out-of-place visibility data from input data.
Definition: MHO_CircularFieldRotationCorrection.cc:110
virtual ~MHO_CircularFieldRotationCorrection()
Definition: MHO_CircularFieldRotationCorrection.cc:90
virtual bool InitializeInPlace(visibility_type *in) override
Initializes in-place visibility_type pointer.
Definition: MHO_CircularFieldRotationCorrection.cc:105
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_ChannelLabeler.hh:17