grr-odeshoot.h

00001 #ifndef gridripper_main_grrodeshoot_h
00002 #define gridripper_main_grrodeshoot_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 {
00013 
00014 using namespace gridripper;
00015 using namespace gridripper::io;
00016 using namespace gridripper::odesolver;
00017 using namespace gridripper::odesolver::shoot;
00018 using namespace std;
00019 
00027 class Main
00028 {
00029 private:
00030     ODEShoot* odeShoot;
00031 
00032 public:
00037     Main(const string& f) throw(IOException&, IllegalArgumentException&);
00038 
00042     void solve();
00043 
00044 private:
00045     static void printFields(ostream& out, const tvalarray<string>& funcfmt,
00046                             GReal_t x, tvalarray<GReal_t>& F, unsigned nc,
00047                             int i, ODE& ode);
00048 
00049     string getHeader(ODE& ode, const string& xfmt,
00050                      const tvalarray<string>& funcfmt);
00051 };
00052 
00053 } // namespace gridripper
00054 
00055 #endif /* gridripper_main_grrodeshoot_h */