*out->log << " " << (*obsit)->obsid;
*out->log << endl << flush;
- Sim->toEquilibrate = true;
-
for( int imeas=0; imeas<comargs.nmeas; imeas++ ) {
bool nextAlready = false;
for (vector<obs*>::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 && nequileftNewObs < 0 ) {
+ (*obsit)->meas(true);
+ }
+ else {
if (!nextAlready) {
Sim->nextConfig();
nextAlready = true;
(*obsit)->meas(false);
hypercache::writeO( (*obsit)->ocid );
}
- else
- (*obsit)->meas(true);
+
}
while( measProg.madeStep(imeas) )
*out->log << "O815: " << measProg.done()*100 << "% of measurements done." << endl << flush;