SOLARPROP  1.0
 All Classes Functions Variables
import.h
1 /*
2  * import.h
3  *
4  * Author: kappl
5  */
6 
7 #ifndef IMPORT_H_
8 #define IMPORT_H_
9 
10 #include <iostream>
11 #include <map>
12 #include <vector>
13 #include <string>
14 #include <sstream>
15 #include <fstream>
16 #include "stringconst.h"
17 #include "constants.h"
18 #include "fileHelper.h"
19 #include "properties.h"
20 
24 class Import
25 {
26  private:
27  std::map<std::string, std::string> controlData;
28  std::map<std::string, int> allowedModels {{Stringconst::modelYamada, 1},
29  {Stringconst::modelJokipii, 1},
30  {Stringconst::modelPotgieter, 1},
31  {Stringconst::modelBurger, 1},
32  {Stringconst::modelStandard2D, 1},
33  {Stringconst::modelCustom, 1}
34  };
35  std::map<int,double> angleData;
36  std::map<std::pair<int, int>, double> nmData;
40  double phi;
41 
45  std::string outputFormat;
49  std::string inputFormat;
53  std::string outputFileName;
57  std::string inputFileName;
61  Tproperties spec;
65  int modNumber;
69  double index;
73  int extraBins;
74 
75  TimportStatus status;
76 
77  TmodelInformation modelInfo;
78 
79  void readProperties();
80  int calculateCR(int, int, int);
81  void calculateKappaZero(double);
82  double averageAngle(int,int,int,int,int,int);
83  double averageNeutronMonitorData(int, int, int, int);
84  void parse(std::string, std::string, std::string);
85  template <typename T> T convert(std::string);
86  template <typename T> T check(std::string, T, std::string, std::string);
87 
88  public:
89  Import(int, const char **);
90  ~Import();
91  double getPhi() const;
92  std::string getOutputFormat() const;
93  std::string getInputFormat() const;
94  std::string getOutputFileName() const;
95  std::string getInputFileName() const;
96  Tproperties getSpec() const;
98  int getModNumber() const;
99  int getExtraBins() const;
100  double getIndex() const;
101  TimportStatus getImportStatus() const;
102 };
103 
104 #endif /* IMPORT_H_ */