]> git.treefish.org Git - phys/latlib.git/blobdiff - o815/o815.cpp
...
[phys/latlib.git] / o815 / o815.cpp
index 956eb09fb71a786a90e2466dbfd6fa52a1762077..cf461ba12bc238749befb8e584e02a14e1701f27 100644 (file)
@@ -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<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+    (*obsit)->start();
+  }
+
+  //while( nextParas() ) {
+  //}
+  
+  /*
+  for (int i=0; i<100; i++) {
+    for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+      (*obsit)->meas();
+    } 
+  }
+  */
+
+  for (vector<obs*>::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;
+}