X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/f2373be314dc298d602b1939cde3d5ae990dd07f..1a5483766d4056eec087099f2e411aef51b63cf5:/o815/o815.h?ds=inline diff --git a/o815/o815.h b/o815/o815.h index 932af0f..33693b0 100644 --- a/o815/o815.h +++ b/o815/o815.h @@ -8,6 +8,7 @@ #include "latlib/paraq.h" #include "latlib/writeout.h" +#include "latlib/hypercache.h" using namespace std; @@ -18,7 +19,7 @@ class o815 { class obs { public: - obs(const string& _obsid, const string& _datadesc, o815 *_O815); + obs(const string& _obsid, const string& _datadesc, o815 *_O815, const int& _obsmemSize); void finish(); void meas(); void start(); @@ -30,9 +31,24 @@ class o815 { protected: o815 *O815; char *obsMem; - ostream *oout; - ostream *olog; - string obsid, datadesc; + string obsid, simid, datadesc; + ostream *out, *log; + int ocid; + }; + + class sim { + public: + sim(o815 *_O815, const int& _confmemSize); + void nextConfig(); + bool toEquilibrate; + char *confMem; + private: + virtual void _reset()=0; + virtual void _makeSweep(int nsweep)=0; + protected: + o815 *O815; + ostream *log; + int nequi, nskip; }; struct { @@ -52,6 +68,7 @@ class o815 { paraq *paraQ; writeout *out; vector observables; + sim* Sim; void mainLoop(); string headMaster(); @@ -61,6 +78,7 @@ private: static void listArg(int *target, int tlen, char *listarg); void parseArgs(int argc, char **argv); string programid; + int nextParas(); }; #endif