HOPS
HOPS class reference
MHO_BasicFringeDataConfiguration.hh
Go to the documentation of this file.
1 #ifndef MHO_BasicFringeDataConfiguration_HH__
2 #define MHO_BasicFringeDataConfiguration_HH__
3 
4 #include "hops_version.hh"
5 
6 //global messaging util
7 #include "MHO_Message.hh"
8 #include "MHO_Profiler.hh"
9 
10 //data/config passing classes
11 #include "MHO_ContainerStore.hh"
12 #include "MHO_JSONHeaderWrapper.hh"
13 #include "MHO_OperatorToolbox.hh"
14 #include "MHO_ParameterStore.hh"
15 #include "MHO_ScanDataStore.hh"
16 
17 //initialization
19 
20 namespace hops
21 {
22 
35 {
36 
37  public:
40 
41  public:
42 
51  static void parse_baseline_freqgrp(std::string baseline_freqgrp, std::string& baseline, std::string& freqgrp);
52 
61  static std::string parse_set_string(const std::vector< std::string >& arglist, int& set_arg_index);
62 
70  static std::string sanitize_directory(std::string dir);
71 
79  static std::string find_associated_root_file(std::string dir);
80 
88  static int sanity_check(MHO_ParameterStore* paramStore);
89 
90 
100  static int parse_fourfit_command_line(int argc, char** argv, MHO_ParameterStore* paramStore);
101 
110  static void determine_scans(const std::string& initial_dir, std::vector< std::string >& scans,
111  std::vector< std::string >& roots);
112 
121  static void determine_baselines(const std::string& dir, const std::string& baseline,
122  std::vector< std::pair< std::string, std::string > >& baseline_files);
123 
134  static void determine_fgroups_polproducts(const std::string& filename, const std::string& cmd_fgroup,
135  const std::string& cmd_pprod, std::vector< std::string >& fgroups,
136  std::vector< std::string >& pprods);
137 
138  //loops over all data and constructs (concatenated strings) containing all of the pass information
150  static void determine_passes(MHO_ParameterStore* cmdline_params, std::string& cscans, std::string& croots,
151  std::string& cbaselines, std::string& cfgroups, std::string& cpolprods);
152 
153  //takes the (concatenated) strings from determine_passes, and breaks them into a vector of json objects
154  //describing the data item(s) to be processed on each pass
166  static void split_passes(std::vector< mho_json >& pass_vector, const std::string& cscans, const std::string& croots,
167  const std::string& cbaselines, const std::string& cfgroups, const std::string& cpolprods);
168 
178 
186  static void populate_initial_parameters(MHO_ParameterStore* paramStore, MHO_ScanDataStore* scanStore);
187 
195  static std::vector< std::string > determine_required_pol_products(std::string polprod);
196 
197  //functions that are called within the fringe fitter class
204  static void configure_visibility_data(MHO_ContainerStore* store);
205 
215  static void configure_station_data(MHO_ScanDataStore* scanStore, MHO_ContainerStore* containerStore,
216  std::string ref_station_mk4id, std::string rem_station_mk4id);
217 
226  static void init_and_exec_operators(MHO_OperatorBuilderManager* build_manager, MHO_OperatorToolbox* opToolbox,
227  const char* category);
228 
236  static mho_json ConvertProfileEvents(std::vector< MHO_ProfileEvent >& events);
237 };
238 
239 } // namespace hops
240 
241 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_BasicFringeDataConfiguration.
Definition: MHO_BasicFringeDataConfiguration.hh:35
static void configure_visibility_data(MHO_ContainerStore *store)
Configures visibility data by checking and processing visibility_type and weight_type objects in the ...
Definition: MHO_BasicFringeDataConfiguration.cc:837
static std::vector< std::string > determine_required_pol_products(std::string polprod)
Parses a polarization product string to determine required pol-products.
Definition: MHO_BasicFringeDataConfiguration.cc:973
static void populate_initial_parameters(MHO_ParameterStore *paramStore, MHO_ScanDataStore *scanStore)
Initializes parameter store and scan store for fringe processing, sets initial values.
Definition: MHO_BasicFringeDataConfiguration.cc:772
static mho_json ConvertProfileEvents(std::vector< MHO_ProfileEvent > &events)
Converts a vector of profile events into a JSON object.
Definition: MHO_BasicFringeDataConfiguration.cc:1023
static int sanity_check(MHO_ParameterStore *paramStore)
Performs a sanity check on command line parameters after parsing.
Definition: MHO_BasicFringeDataConfiguration.cc:156
static void determine_fgroups_polproducts(const std::string &filename, const std::string &cmd_fgroup, const std::string &cmd_pprod, std::vector< std::string > &fgroups, std::vector< std::string > &pprods)
Determines frequency groups and polarization products to process for each baseline from a given filen...
Definition: MHO_BasicFringeDataConfiguration.cc:486
static void determine_passes(MHO_ParameterStore *cmdline_params, std::string &cscans, std::string &croots, std::string &cbaselines, std::string &cfgroups, std::string &cpolprods)
Determines and concatenates data passes for processing, including scans, baselines,...
Definition: MHO_BasicFringeDataConfiguration.cc:600
static bool initialize_scan_data(MHO_ParameterStore *, MHO_ScanDataStore *scanStore)
Initializes scan data store using parameters and sets root file name.
Definition: MHO_BasicFringeDataConfiguration.cc:736
static std::string sanitize_directory(std::string dir)
Sanitizes a directory path by ensuring it ends with '/' and exists.
Definition: MHO_BasicFringeDataConfiguration.cc:87
static void split_passes(std::vector< mho_json > &pass_vector, const std::string &cscans, const std::string &croots, const std::string &cbaselines, const std::string &cfgroups, const std::string &cpolprods)
Breaks concatenated strings into vector of json objects describing data items for each processing pas...
Definition: MHO_BasicFringeDataConfiguration.cc:665
static int parse_fourfit_command_line(int argc, char **argv, MHO_ParameterStore *paramStore)
Parses command line arguments and stores them in a parameter store for later use by fourfit.
Definition: MHO_BasicFringeDataConfiguration.cc:185
static std::string parse_set_string(const std::vector< std::string > &arglist, int &set_arg_index)
Parses a vector of strings to extract and concatenate control file syntax after 'set' command.
Definition: MHO_BasicFringeDataConfiguration.cc:58
static void parse_baseline_freqgrp(std::string baseline_freqgrp, std::string &baseline, std::string &freqgrp)
Parses baseline_freqgrp string into separate baseline and freqgrp strings (expects ':' as separator).
Definition: MHO_BasicFringeDataConfiguration.cc:23
static void configure_station_data(MHO_ScanDataStore *scanStore, MHO_ContainerStore *containerStore, std::string ref_station_mk4id, std::string rem_station_mk4id)
Configures station data by loading and renaming objects in MHO_ScanDataStore and MHO_ContainerStore.
Definition: MHO_BasicFringeDataConfiguration.cc:928
static void determine_scans(const std::string &initial_dir, std::vector< std::string > &scans, std::vector< std::string > &roots)
Determines scan directories and associated root files for processing.
Definition: MHO_BasicFringeDataConfiguration.cc:370
static void determine_baselines(const std::string &dir, const std::string &baseline, std::vector< std::pair< std::string, std::string > > &baseline_files)
Determines baselines present for each scan in a given directory matching a specified baseline pattern...
Definition: MHO_BasicFringeDataConfiguration.cc:429
virtual ~MHO_BasicFringeDataConfiguration()
Definition: MHO_BasicFringeDataConfiguration.hh:39
static std::string find_associated_root_file(std::string dir)
Finds and returns the associated root (ovex) file in the given directory.
Definition: MHO_BasicFringeDataConfiguration.cc:125
static void init_and_exec_operators(MHO_OperatorBuilderManager *build_manager, MHO_OperatorToolbox *opToolbox, const char *category)
Initializes and executes (in priority value order) all operators associated with a given category.
Definition: MHO_BasicFringeDataConfiguration.cc:950
MHO_BasicFringeDataConfiguration()
Definition: MHO_BasicFringeDataConfiguration.hh:38
Class MHO_ContainerStore.
Definition: MHO_ContainerStore.hh:32
Manages all the various operator builders.
Definition: MHO_OperatorBuilderManager.hh:24
Class MHO_OperatorToolbox.
Definition: MHO_OperatorToolbox.hh:26
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
Class to catalog and organize data files that are associated with a single scan, and handle retrieval...
Definition: MHO_ScanDataStore.hh:28
int baseline
Definition: fourfit3.c:62
HOPS - Haystack Observatory Post-processing software.
Definition: MHO_ChannelLabeler.hh:17