HOPS
HOPS class reference
MHO_VexInfoExtractor.hh
Go to the documentation of this file.
1 #ifndef MHO_VexInfoExtractor_HH__
2 #define MHO_VexInfoExtractor_HH__
3 
4 #include <cmath>
5 #include <complex>
6 #include <iomanip>
7 #include <sstream>
8 #include <string>
9 
10 #include "MHO_Clock.hh"
11 #include "MHO_Message.hh"
12 
13 #include "MHO_JSONHeaderWrapper.hh"
14 #include "MHO_ParameterStore.hh"
15 
16 namespace hops
17 {
18 
32 {
33 
34  public:
36  virtual ~MHO_VexInfoExtractor(){};
37 
38  public:
51  static void extract_clock_early(const mho_json& clk, double& clock_early, std::string& clock_early_units,
52  double& clock_rate, std::string& clock_rate_units, std::string& origin,
53  std::string& validity);
54 
62  static void extract_clock_model(const mho_json& vexInfo, MHO_ParameterStore* paramStore);
63 
71  static void extract_sampler_bits(const mho_json& vexInfo, MHO_ParameterStore* paramStore);
72 
80  static void extract_sample_rate(const mho_json& vexInfo, MHO_ParameterStore* paramStore);
81 
89  static void extract_vex_info(const mho_json& vexInfo, MHO_ParameterStore* paramStore);
90 
98  static double calculate_ra_hrs(std::string ra);
99 
107  static double calculate_dec_deg(std::string dec);
108 
116  static int64_t calculate_start_time_seconds_since_1980(std::string start_date);
117 };
118 
119 } // namespace hops
120 
121 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
Class MHO_VexInfoExtractor.
Definition: MHO_VexInfoExtractor.hh:32
MHO_VexInfoExtractor()
Definition: MHO_VexInfoExtractor.hh:35
static int64_t calculate_start_time_seconds_since_1980(std::string start_date)
Calculates time in seconds since 1980-01-01T00:00:00.0Z for a given start date.
Definition: MHO_VexInfoExtractor.cc:583
virtual ~MHO_VexInfoExtractor()
Definition: MHO_VexInfoExtractor.hh:36
static void extract_sample_rate(const mho_json &vexInfo, MHO_ParameterStore *paramStore)
Extracts sample rates for reference and remote stations from VEX info.
Definition: MHO_VexInfoExtractor.cc:179
static void extract_clock_model(const mho_json &vexInfo, MHO_ParameterStore *paramStore)
Extracts clock model information from vexInfo and stores it in paramStore for reference and remote st...
Definition: MHO_VexInfoExtractor.cc:47
static double calculate_ra_hrs(std::string ra)
Converts right ascension string to decimal hours.
Definition: MHO_VexInfoExtractor.cc:463
static double calculate_dec_deg(std::string dec)
Calculates declination in decimal degrees from a string representation containing degrees,...
Definition: MHO_VexInfoExtractor.cc:523
static void extract_sampler_bits(const mho_json &vexInfo, MHO_ParameterStore *paramStore)
Extracts and stores N sampler bits used at reference and remote stations from vexInfo.
Definition: MHO_VexInfoExtractor.cc:135
static void extract_clock_early(const mho_json &clk, double &clock_early, std::string &clock_early_units, double &clock_rate, std::string &clock_rate_units, std::string &origin, std::string &validity)
Extracts clock early data from a JSON object and populates output parameters.
Definition: MHO_VexInfoExtractor.cc:7
static void extract_vex_info(const mho_json &vexInfo, MHO_ParameterStore *paramStore)
Extracts VEX info from JSON and stores relevant parameters in MHO_ParameterStore.
Definition: MHO_VexInfoExtractor.cc:255
Definition: MHO_ChannelLabeler.hh:17
Definition: vex.h:200
Definition: vex.h:193