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();
00081
00082 private:
00083 void *cvode_mem;
00084 void *nvs;
00085 std::string outName;
00086
00088 bool loadFrame();
00090 bool saveFrame();
00091
00092 };
00093
00094 #endif