]> git.treefish.org Git - phys/latlib.git/blobdiff - o815/o815.cpp
...
[phys/latlib.git] / o815 / o815.cpp
index 956eb09fb71a786a90e2466dbfd6fa52a1762077..a2b35e88e7dddf058e35ccb0966cb40aedb7856f 100644 (file)
@@ -50,6 +50,24 @@ o815::o815(int argc, char **argv, const string& _programid) {
   out = new writeout(comargs.outdir, programid+headMaster(), rank, numprocs, timestamp);
 }
 
+void o815::mainLoop() {
+  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+    (*obsit)->start();
+  }
+  
+  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();
+  }
+
+  //MPI_Finalize();
+}
+
 void o815::parseArgs(int argc, char **argv) {
   int opt = 0;
   
@@ -121,3 +139,15 @@ string o815::headMaster()
   return hm.str();
 }
 
+o815::~o815() {
+  if(comargs.outdir=="") {
+    MPI_Barrier(MPI_COMM_WORLD);
+    if(rank==0)
+      cout << "#end" << endl << flush;
+  }
+
+  cout << "bu:" << rank << endl;
+
+  delete out;
+  MPI_Finalize();
+}