]> git.treefish.org Git - phys/latlib.git/blobdiff - o815/o815.cpp
...
[phys/latlib.git] / o815 / o815.cpp
index a2b35e88e7dddf058e35ccb0966cb40aedb7856f..9cd3f7b4a78d4c79155c1c3621e99fe828a1b976 100644 (file)
@@ -51,21 +51,24 @@ o815::o815(int argc, char **argv, const string& _programid) {
 }
 
 void o815::mainLoop() {
-  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+  *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) {
+  for (vector<obs*>::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<string>::iterator parait = paraQ->allParaIds.begin(); parait != paraQ->allParaIds.end(); ++parait)
+      hypercache::setPara(*parait, (*paraQ)[*parait]);
+    return 1;
+  }
+  else
+    return 0;
+}