X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/3db2602cfe30c61445e89cc334541ebb4ff76ed8..7ebf4164400b973bba97887d7852bc07801206b7:/o815/o815.cpp?ds=sidebyside diff --git a/o815/o815.cpp b/o815/o815.cpp index 956eb09..cf461ba 100644 --- a/o815/o815.cpp +++ b/o815/o815.cpp @@ -50,6 +50,29 @@ o815::o815(int argc, char **argv, const string& _programid) { out = new writeout(comargs.outdir, programid+headMaster(), rank, numprocs, timestamp); } +void o815::mainLoop() { + *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) { + (*obsit)->finish(); + } +} + void o815::parseArgs(int argc, char **argv) { int opt = 0; @@ -121,3 +144,29 @@ string o815::headMaster() return hm.str(); } +o815::~o815() { + if(comargs.outdir=="") { + MPI_Barrier(MPI_COMM_WORLD); + if(rank==0) + cout << "#end" << endl << flush; + } + delete out; + MPI_Finalize(); +} + +int o815::nextParas() +{ + if( paraQ->nextParas() ) { + /* + setB( (*paraQ)["beta"] ); + setK( (*paraQ)["kappa"] ); + setL( (*paraQ)["lambda"] ); + setM1( (*paraQ)["mu1"] ); + setM2( (*paraQ)["mu2"] ); + */ + + return 1; + } + else + return 0; +}