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     // ODE
00029     //
00030 
00032     ODE* ode;
00033 
00034     //
00035     // Numerical method parameters
00036     //
00037 
00039     int order;
00040 
00042     int maxi;
00043 
00045     bool maxiSet;
00046 
00048     int numIterations;
00049 
00050     //
00051     // Output file contents and format
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 } } } // namespace gridripper_odesolver_relax
00089 
00090 #endif /* gridripper_odesolver_relax_ParameterParser_h */

Generated on Wed Jun 17 18:46:47 2009 for GridRipper by  doxygen 1.5.6