jplus-0.4.5
|
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