HOPS
HOPS class reference
MHO_AFileInfoExtractor.hh
Go to the documentation of this file.
1 #ifndef MHO_AFileInfoExtractor_HH__
2 #define MHO_AFileInfoExtractor_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 
29 {
36 };
37 
42 {
43 
44  public:
47 
48  public:
49 
57  bool SummarizeFringeFile(std::string filename, mho_json& fsum);
58 
59  //version 5 or 6 only
67  std::string ConvertToAlistRow(const mho_json& data, int version);
68 
77  std::string GetAlistHeader(int version, int type, char comment_char);
78 
79  protected:
89  void RetrieveParameter(mho_json& obj, const std::string& name, const MHO_ParameterStore& paramStore,
90  const std::string& path, const std::string& type);
91 
101  std::string RetrieveParameterAsString(const mho_json& obj, const std::string& name, const std::string& type,
102  const std::string& pformat);
103 
110  par_type DetermineParameterType(std::string etype);
111 
119  template< typename XValueType > std::string ConvertToString(XValueType value, const std::string& pformat)
120  {
121  std::string output;
122  std::stringstream ss;
123  char tmp[80] = {0};
124  if(pformat != "")
125  {
126  snprintf(tmp, sizeof(tmp), pformat.c_str(), value);
127  ss << tmp;
128  output = ss.str();
129  }
130  else
131  {
132  ss << std::setprecision(15); //default to full double precision
133  ss << value;
134  output = ss.str();
135  }
136  return output;
137  }
138 };
139 
140 } // namespace hops
141 
142 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_AFileInfoExtractor.
Definition: MHO_AFileInfoExtractor.hh:42
par_type DetermineParameterType(std::string etype)
Determines parameter type based on input string.
Definition: MHO_AFileInfoExtractor.cc:591
std::string ConvertToAlistRow(const mho_json &data, int version)
Converts mho_json data to alist row string for versions 5 or 6.
Definition: MHO_AFileInfoExtractor.cc:368
std::string ConvertToString(XValueType value, const std::string &pformat)
Converts a value to string using specified format or default precision.
Definition: MHO_AFileInfoExtractor.hh:119
MHO_AFileInfoExtractor()
Definition: MHO_AFileInfoExtractor.hh:45
void RetrieveParameter(mho_json &obj, const std::string &name, const MHO_ParameterStore &paramStore, const std::string &path, const std::string &type)
Retrieves a parameter from the store and populates it into a json object.
Definition: MHO_AFileInfoExtractor.cc:531
bool SummarizeFringeFile(std::string filename, mho_json &fsum)
Summarizes a fringe file and populates the json object fsum with its data.
Definition: MHO_AFileInfoExtractor.cc:199
std::string RetrieveParameterAsString(const mho_json &obj, const std::string &name, const std::string &type, const std::string &pformat)
Retrieve and convert a parameter from a json object to string based on its type.
Definition: MHO_AFileInfoExtractor.cc:616
std::string GetAlistHeader(int version, int type, char comment_char)
Getter for alist header (row text)
Definition: MHO_AFileInfoExtractor.cc:194
virtual ~MHO_AFileInfoExtractor()
Definition: MHO_AFileInfoExtractor.hh:46
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
const char version[]
Definition: difx2mark4.c:37
Definition: MHO_ChannelLabeler.hh:17
par_type
Definition: MHO_AFileInfoExtractor.hh:29
@ int_type
Definition: MHO_AFileInfoExtractor.hh:30
@ int64_type
Definition: MHO_AFileInfoExtractor.hh:31
@ bool_type
Definition: MHO_AFileInfoExtractor.hh:34
@ unknown_type
Definition: MHO_AFileInfoExtractor.hh:35
@ string_type
Definition: MHO_AFileInfoExtractor.hh:33
@ double_type
Definition: MHO_AFileInfoExtractor.hh:32
int output(struct vex *root, struct type_pass *pass)
Definition: output.c:255
Definition: vex.h:175