Main.h
00001 #ifndef gridripper_odesolver_shoot_Main_h
00002 #define gridripper_odesolver_shoot_Main_h
00003
00004 #include <gridripper/config.h>
00005 #include <gridripper/odesolver/ODE.h>
00006 #include <gridripper/odesolver/shoot/ODEShoot.h>
00007 #include <gridripper/io/IOException.h>
00008 #include <gridripper/lang/IllegalArgumentException.h>
00009 #include <gridripper/tvalarray.h>
00010 #include <string>
00011
00012 namespace gridripper { namespace odesolver { namespace shoot {
00013
00014 using namespace gridripper;
00015 using namespace gridripper::io;
00016 using namespace gridripper::odesolver;
00017 using namespace std;
00018
00026 class Main
00027 {
00028 private:
00029 ODEShoot* odeShoot;
00030
00031 public:
00036 Main(const string& f) throw(IOException&, IllegalArgumentException&);
00037
00041 void solve();
00042
00043 private:
00044 static void printFields(ostream& out, const tvalarray<string>& funcfmt,
00045 GReal_t x, tvalarray<GReal_t>& F, unsigned nc,
00046 int i, ODE& ode);
00047
00048 string getHeader(ODE& ode, const string& xfmt,
00049 const tvalarray<string>& funcfmt);
00050 };
00051
00052 } } }
00053
00054 #endif