jplus-0.4.5
src/yacts.h
Go to the documentation of this file.
00001 #ifndef YACTS_H
00002 #define YACTS_H
00003 
00004 #include <istream>
00005 #include <fstream>
00006 #include <string>
00007 #include "jplus.h"
00008 #include "trjfile.h"
00009 
00014 class yacts : public jplus, protected trjfile {
00015  public:
00017   yacts();
00018   
00027   bool init(std::istream &script);
00028   
00030   ~yacts();
00031   
00033   virtual void libInit();
00034 
00038   bool setOut(std::string newOut);
00039 
00042   int REPL();
00043 
00049   std::string getTrajectoryFilenameBase(std::string prefix);
00050 
00055   bool initTrajectory(std::string prefix);
00056 
00059   int size();
00060   
00064   bool setFrame(int iframe);
00065 
00069   bool hasNextFrameStored();
00070 
00074   bool nextFrame();
00075   
00078   std::string process();
00079 
00080   friend int runTests(); // testsuite is also our friend :-)
00081 
00082  private:
00083   void *cvode_mem;   // memory, allocated by sundials CVODE solver
00084   void *nvs;         // current state 
00085   std::string outName; // out variable name
00086 
00088   bool loadFrame();
00090   bool saveFrame();
00091 
00092 };
00093 
00094 #endif