HOPS
HOPS class reference
MHO_FringeControlInitialization.hh
Go to the documentation of this file.
1 #ifndef MHO_FringeControlInitialization_HH__
2 #define MHO_FringeControlInitialization_HH__
3 
4 //global messaging util
5 #include "MHO_Message.hh"
6 
7 //data/config passing classes
8 #include "MHO_ContainerStore.hh"
10 #include "MHO_OperatorToolbox.hh"
11 #include "MHO_ParameterStore.hh"
12 #include "MHO_ScanDataStore.hh"
13 
14 //initialization
16 
17 namespace hops
18 {
19 
32 {
33 
34  public:
37 
38  public:
39  //control format and control_statements objects should reference the MHO_FringeData object
40 
49  static void process_control_file(MHO_ParameterStore* paramStore, mho_json& control_format,
50  mho_json& control_statements);
51 
65  static void apply_control_statements(MHO_ParameterStore* paramStore, mho_json& control_format,
66  mho_json& control_statements);
67 
74  static void add_default_operator_format_def(mho_json& format);
75 
82  static void add_default_operators(mho_json& statements);
83 
90  static void add_polprod_sum_operator(mho_json& statements);
91 
99  static bool is_linear_polprod(std::string pp);
100 
107  static void add_dpar_sign_correction_operator(mho_json& statements);
108 
116  static bool is_circular_polprod(std::string pp);
117 
124  static void add_circ_field_rotation_operator(mho_json& statements);
125 
126  //checks if the special ionospheric fringe fitter is needed
134  static bool need_ion_search(mho_json* control);
135 
136  static bool need_python_plugin(mho_json* control);
137 };
138 
139 } // namespace hops
140 
141 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_FringeControlInitialization.
Definition: MHO_FringeControlInitialization.hh:32
static bool is_linear_polprod(std::string pp)
Checks if input string represents a linear polarization product.
Definition: MHO_FringeControlInitialization.cc:321
static bool need_python_plugin(mho_json *control)
Definition: MHO_FringeControlInitialization.cc:46
virtual ~MHO_FringeControlInitialization()
Definition: MHO_FringeControlInitialization.hh:36
MHO_FringeControlInitialization()
Definition: MHO_FringeControlInitialization.hh:35
static void add_polprod_sum_operator(mho_json &statements)
Adds a default polarization product sum operator to the given statements.
Definition: MHO_FringeControlInitialization.cc:301
static void apply_control_statements(MHO_ParameterStore *paramStore, mho_json &control_format, mho_json &control_statements)
Consume already-evaluated control statements.
Definition: MHO_FringeControlInitialization.cc:122
static void add_dpar_sign_correction_operator(mho_json &statements)
Adds a default correction operator for dpar (delta parallactic angle) to the given statements.
Definition: MHO_FringeControlInitialization.cc:311
static void process_control_file(MHO_ParameterStore *paramStore, mho_json &control_format, mho_json &control_statements)
Process control file and populate applicable statements in parameter store.
Definition: MHO_FringeControlInitialization.cc:69
static bool need_ion_search(mho_json *control)
Checks if special ionospheric fringe fitter is needed by searching control statements.
Definition: MHO_FringeControlInitialization.cc:15
static void add_default_operator_format_def(mho_json &format)
Adds default operator format definitions to an mho_json object for fringe control initialization.
Definition: MHO_FringeControlInitialization.cc:185
static void add_circ_field_rotation_operator(mho_json &statements)
Adds a predefined correction operator for circular-pol field rotation to the given statements.
Definition: MHO_FringeControlInitialization.cc:380
static void add_default_operators(mho_json &statements)
Adds default operators to control statements for MHO fringe control initialization.
Definition: MHO_FringeControlInitialization.cc:262
static bool is_circular_polprod(std::string pp)
Checks if given polarization product is circular (RR, LL, RL, LR).
Definition: MHO_FringeControlInitialization.cc:359
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
Definition: MHO_AdhocFlagging.hh:18