]> git.treefish.org Git - phys/latlib.git/commitdiff
...
authorAlex Schmidt <alex@treefish.org>
Thu, 18 Apr 2013 18:58:21 +0000 (20:58 +0200)
committerAlex Schmidt <alex@treefish.org>
Thu, 18 Apr 2013 18:58:21 +0000 (20:58 +0200)
o815/o815.cpp
o815/o815.h
o815/obs.cpp

index 29f5fd3c9830d3cf56996b410528c72969ac9e57..4d6f0477f79c9af9ecb557682944c006ab7f39ea 100644 (file)
@@ -33,14 +33,6 @@ o815::o815(int argc, char **argv, const string& _programid) {
     exit(0);
   }
 
-  if( comargs.showjobnum ) {
-    for( int i=1; i<=paraQ->getTotalJobs(); i++ ) {
-      if( paraQ->getTotalJobs()%i == 0 ) cout << paraQ->getTotalJobs()/i << "@" << i << " ";
-    }
-    cout << endl;
-    exit(0);
-  }
-
   if(rank==0) {
     timestamp = time(NULL);
     for(int idest=1; idest<numprocs; idest++)
@@ -53,6 +45,14 @@ o815::o815(int argc, char **argv, const string& _programid) {
 }
 
 void o815::mainLoop() {
+  if( comargs.showjobnum ) {
+    for( int i=1; i<=paraQ->getTotalJobs(); i++ ) {
+      if( paraQ->getTotalJobs()%i == 0 ) cout << paraQ->getTotalJobs()/i << "@" << i << " ";
+    }
+    cout << endl;
+    exit(0);
+  }
+
   *out->log << "OBS: Starting main loop." << endl;
 
   for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit)
@@ -66,7 +66,10 @@ void o815::mainLoop() {
     
     progress measProg(comargs.nmeas);
 
-    *out->log << "OBS: Starting measurements." << endl << flush;
+    *out->log << "OBS: Starting measurement of observables:";
+    for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit)
+      *out->log << " " << (*obsit)->obsid;
+    *out->log << endl << flush;
 
     for( int imeas=0; imeas<comargs.nmeas; imeas++ ) {
       bool nextAlready = false;
index 467eca9030d8ffe7ea0940e01cb8ea65137d0cb4..242d1e88a1a5631094f151529604f24bb48ba652 100644 (file)
@@ -25,6 +25,7 @@ class o815 {
     void start();
     string getDataDesc() { return datadesc; };
     int ocid;
+    string obsid;
   private:
     virtual void _meas(bool loadedobs)=0;
     virtual void _finish()=0;
@@ -32,8 +33,10 @@ class o815 {
   protected:
     o815 *O815;
     char *obsMem;
-    string obsid, simid, datadesc;
+    string simid, datadesc;
     ostream *out, *log;
+    void printParas();
+    paraq* paraQ;
   };
 
   class sim {
index ee785a73a75a3597d8a2b40b29149e39e7a5279e..c10a5f4e89c18ab9c3ab24f0fda4e68a1ceddf58 100644 (file)
@@ -30,7 +30,13 @@ o815::obs::obs(const string& _obsid, const string& _datadesc, o815 *_O815, const
 
   out = O815->out->out[obsid];
   log = O815->out->log;
+  paraQ = O815->paraQ;
 
   ocid = hypercache::initO(O815->programid + "-" + obsid, O815->comargs.nequi, O815->comargs.nskip,
                           O815->comargs.obscache.first, &obsMem, obsmemSize, O815->comargs.obscache.second, log);
 }
+
+void o815::obs::printParas() {
+  for (vector<string>::iterator parait = paraQ->allParaIds.begin(); parait != paraQ->allParaIds.end(); ++parait)
+    *O815->out->out[obsid] << (*paraQ)[*parait] << "\t";
+}