ParameterParser.h
00001 #ifndef gridripper_odesolver_relax_ParameterParser_h
00002 #define gridripper_odesolver_relax_ParameterParser_h
00003
00004 #include <gridripper/lang/IllegalArgumentException.h>
00005 #include <gridripper/tvalarray.h>
00006 #include <gridripper/odesolver/ODE.h>
00007 #include <gridripper/util/GrrProperties.h>
00008 #include <gridripper/Parameters.h>
00009 #include <gridripper/util/ParameterPreprocessor.h>
00010 #include <string>
00011
00012 namespace gridripper { namespace odesolver { namespace relax {
00013
00014 using namespace std;
00015 using namespace gridripper::util;
00016
00024 class ParameterParser
00025 {
00026 public:
00027
00028
00029
00030
00032 ODE* ode;
00033
00034
00035
00036
00037
00039 int order;
00040
00042 int maxi;
00043
00045 bool maxiSet;
00046
00048 int numIterations;
00049
00050
00051
00052
00053
00057 string dataFormat;
00058
00059 private:
00060 const GrrProperties& properties;
00061 Parameters* unprocessedParameters;
00062
00063 public:
00068 ParameterParser(const GrrProperties& props);
00069
00070 ~ParameterParser();
00071
00075 void parse() throw(IllegalArgumentException&);
00076
00077 protected:
00082 string* getParameter(string key) const;
00083
00084 private:
00085 ParameterPreprocessor* createPreprocessor() const;
00086 };
00087
00088 } } }
00089
00090 #endif