genericIO
jsonGenericFile.h
1 #ifndef JSON_REGFILE_FUNC_H
2 #define JSON_REGFILE_FUNC_H 1
3 #include <string>
4 #include "json.h"
5 #include <stdbool.h>
6 #include "genericFile.h"
7 #include "basicIO.h"
8 namespace SEP {
10 public:
11 
12 // sepRegFile::sepRegFile(const std::string tag,usage_code usage){
13 
15  ;
16 }
17 jsonGenericFile(std::shared_ptr<Json::Value> arg,const SEP::usage_code usage,const std::string& tag,const int reelH,const int traceH);
18 void setupJson(std::shared_ptr<Json::Value> jsonArgs,const std::string& tag);
19 virtual int getInt(const std::string &arg) const;
20 virtual int getInt(const std::string &arg, const int def) const;
21 
22 virtual float getFloat(const std::string&, const float def) const;
23 virtual float getFloat(const std::string&) const;
24 
25 virtual std::string getString(const std::string &arg) const;
26 virtual std::string getString(const std::string &arg, const std::string &def) const;
27 
28 
29 virtual bool getBool(const std::string&, const bool def) const;
30 virtual bool getBool(const std::string&) const;
31 
32 
33 virtual std::vector<int> getInts(const std::string &arg,int nvals) const;
34 virtual std::vector<int> getInts(const std::string &arg,std::vector<int> &defs) const;
35 
36 virtual std::vector<float> getFloats(const std::string &arg,int nvals) const;
37 virtual std::vector<float> getFloats(const std::string &arg,std::vector<float>& defs) const;
38 virtual void message(const std::string &err) const;
39 
40 virtual void error(const std::string &err) const;
41 Json::Value getArgs(){
42  return jsonArgs;
43 }
44 std::string getTag(){
45  return _tag;
46 }
47 virtual void close();
48 std::string getJSONFileName() const;
49 std::string getDataFileName() const;
50 virtual void readDescription();
51 virtual void writeDescription();
52 virtual void putInt(const std::string &par, const int val);
53 virtual void putFloat(const std::string& par, const float val);
54 virtual void putString(const std::string& par, const std::string &val);
55 virtual void putBool(const std::string &par, const bool val);
56 virtual void putInts(const std::string& par, const std::vector<int>& val);
57 virtual void putFloats(const std::string& par, const std::vector<float>& val);
58 virtual void readFloatStream(float *array,const long long npts);
59 virtual void readUCharStream(unsigned char *array,const long long npts);
60 virtual void seekTo(const long long iv,const int whence);
61 
62 virtual void writeFloatStream( const float *array,const long long npts);
63 virtual void readUCharWindow(const std::vector<int>& nw, const std::vector<int> &fw,
64  const std::vector<int>& jw, unsigned char *array);
65 virtual void readFloatWindow(const std::vector<int> &nw, const std::vector<int> &fw,
66  const std::vector<int> &jw, float *array);
67 virtual long long getDataSize();
68 virtual void writeFloatWindow(const std::vector<int> &nw, const std::vector<int> &fw,
69  const std::vector<int>& jw, const float *array);
70 virtual void readComplexWindow(const std::vector<int>& nw, const std::vector<int>& fw,
71  const std::vector<int> &jw, float _Complex*array);
72 virtual void writeComplexWindow(const std::vector<int>& nw, const std::vector<int> &fw,
73  const std::vector<int> &jw, const float _Complex*array);
74 virtual void writeComplexStream( const float _Complex*array,const long long npts);
75 virtual void readComplexStream(float _Complex*array,const long long npts);
76 
77 protected:
78 Json::Value jsonArgs;
79 private:
80 std::string _tag;
81 usage_code _usage;
82 std::string _jsonFile,_dataFile;
83 std::shared_ptr<myFileIO> myio;
84 int _reelH,_traceH;
85 
86 };
87 }
88 
89 #endif
Definition: jsonGenericFile.h:9
Definition: genericFile.h:129
Represents a JSON value.
Definition: json.h:552
Definition: axis.h:8