X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/7a385d92335a4707d5b0aae66e4850d137c1fe7d..dde851eb3186dbb51898dfe8fc530fce1e0a4cd3:/o815/o815.cpp diff --git a/o815/o815.cpp b/o815/o815.cpp index 4c2b28d..9afaa0c 100644 --- a/o815/o815.cpp +++ b/o815/o815.cpp @@ -125,6 +125,8 @@ void o815::mainLoop() { for (vector::iterator parait = paraQ->allParaIds.begin(); parait != paraQ->allParaIds.end(); ++parait) *out->log << *parait << "=" << (*paraQ)[*parait] << " "; *out->log << ">" << endl << flush; + + Sim->_newParas(); progress measProg(comargs.nmeas); @@ -133,18 +135,21 @@ void o815::mainLoop() { *out->log << " " << (*obsit)->obsid; *out->log << endl << flush; - Sim->toEquilibrate = true; - for( int imeas=0; imeas::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) { - if( hypercache::readO( (*obsit)->ocid ) != -1 ) { + bool readnewObs; + int nequileftNewObs; + + hypercache::readO( (*obsit)->ocid, readnewObs, nequileftNewObs ); + + if( ! readnewObs ) { if (!nextAlready) { Sim->nextConfig(); nextAlready = true; } (*obsit)->meas(false); - hypercache::writeO( (*obsit)->ocid ); + hypercache::writeO( (*obsit)->ocid, comargs.nmeas ); } else (*obsit)->meas(true); @@ -239,7 +244,7 @@ o815::comoption* o815::getOptionByVal(int val) { for (vector::iterator opit = comOptions.begin(); opit != comOptions.end(); ++opit) if ( opit->val == val ) return &(*opit); - return NULL; + exit(1); } void o815::listArg(int *target, int tlen, char *listarg) {