X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/f2373be314dc298d602b1939cde3d5ae990dd07f..1a5483766d4056eec087099f2e411aef51b63cf5:/o815/o815.cpp?ds=sidebyside diff --git a/o815/o815.cpp b/o815/o815.cpp index a2b35e8..9cd3f7b 100644 --- a/o815/o815.cpp +++ b/o815/o815.cpp @@ -51,21 +51,24 @@ o815::o815(int argc, char **argv, const string& _programid) { } void o815::mainLoop() { - for (vector::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) { + *out->log << "OBS: Starting main loop." << endl; + + for (vector::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) (*obsit)->start(); + + while( nextParas() ) { } + /* for (int i=0; i<100; i++) { for (vector::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) { (*obsit)->meas(); } } + */ - for (vector::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) { + for (vector::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) (*obsit)->finish(); - } - - //MPI_Finalize(); } void o815::parseArgs(int argc, char **argv) { @@ -145,9 +148,17 @@ o815::~o815() { if(rank==0) cout << "#end" << endl << flush; } - - cout << "bu:" << rank << endl; - delete out; MPI_Finalize(); } + +int o815::nextParas() +{ + if( paraQ->nextParas() ) { + for (vector::iterator parait = paraQ->allParaIds.begin(); parait != paraQ->allParaIds.end(); ++parait) + hypercache::setPara(*parait, (*paraQ)[*parait]); + return 1; + } + else + return 0; +}