]> git.treefish.org Git - phys/latlib.git/blobdiff - o815/o815.h
made hypercache multi-observable.
[phys/latlib.git] / o815 / o815.h
index 31d36da421dc0aa8b8a3640a2cc84dab85426d84..577691736cddae445bcc207b7691cb0c19042936 100644 (file)
@@ -15,20 +15,24 @@ class obs;
 
 class o815 {
  public:
+
   class obs {
   public:
-    obs(const string& obsid, o815 *_O815);
+    obs(const string& _obsid, const string& _datadesc, o815 *_O815, char *_obsmem, const int& _obsmemSize);
     void finish();
     void meas();
+    void start();
+    string getDataDesc() { return datadesc; };
   private:
     virtual void _meas(bool loadedobs)=0;
     virtual void _finish()=0;
+    virtual void _start()=0;
   protected:
     o815 *O815;
     char *obsMem;
     ostream *oout;
     ostream *olog;
-    string obsid;
+    string obsid, datadesc;
   };
 
   struct {
@@ -44,9 +48,12 @@ class o815 {
   } comargs;
 
   o815(int argc, char **argv, const string& programid);
+  ~o815();
   paraq *paraQ;
   writeout *out;
   vector<obs*> observables;
+  void mainLoop();
+  string headMaster();
 
 private:
   MPI_Status mpiStatus;
@@ -54,7 +61,6 @@ private:
   static void listArg(int *target, int tlen, char *listarg);
   void parseArgs(int argc, char **argv);
   string programid;
-  string headMaster();
 };
 
 #endif