]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/AliOnlineReco.h
Update of the ACORDE's Geometry (Mario)
[u/mrichter/AliRoot.git] / MONITOR / AliOnlineReco.h
index 529ecbf5c7a8d92414baf39b16ab8e83a4622360..221bbc1f9d67f7749fcee8ef1acd45c313b0d754 100644 (file)
 
 class AliDimIntNotifier;
 
+class TTimer;
+
 class TGTextButton;
+class TGCheckButton;
 class TGListBox;
 
 //______________________________________________________________________________
@@ -30,10 +33,15 @@ class AliOnlineReco : public TGMainFrame
 {
 public:
   AliOnlineReco();
-  virtual ~AliOnlineReco() {}
+  virtual ~AliOnlineReco();
+
+  AliDimIntNotifier* GetSOR(Int_t i) const { return fSOR[i]; }
+  AliDimIntNotifier* GetEOR(Int_t i) const { return fEOR[i]; }
 
-  AliDimIntNotifier* GetSOR() const { return fSOR; }
-  AliDimIntNotifier* GetEOR() const { return fEOR; }
+  Int_t  GetLastRun() const;
+
+  Bool_t GetAutoRunMode() const;
+  void   SetAutoRunMode(Bool_t ar);
 
   void SetTestMode() { fTestMode = kTRUE; }
 
@@ -54,9 +62,10 @@ public:
   // Handlers of button signals.
   //------------------------------------------------------------------------------
 
+  void DoAutoRun();
   void DoStart();
   void DoStop();
-  void DoXyzz();
+  void DoExit();
 
   virtual void CloseWindow();
 
@@ -68,13 +77,19 @@ private:
 
   // GUI components.
   TGListBox     *fRunList;
+  TGCheckButton *fAutoRun;
   TGTextButton  *fStartButt;
   TGTextButton  *fStopButt;
-  TGTextButton  *fXyzzButt;
+  TGTextButton  *fExitButt;
+
+  // DIM interface. Could do without members and just leak them ...
+  AliDimIntNotifier *fSOR[5];
+  AliDimIntNotifier *fEOR[5];
 
-  // DIM interface. Could do without ...
-  AliDimIntNotifier *fSOR;
-  AliDimIntNotifier *fEOR;
+  // AutoRun state and timer
+  TTimer        *fAutoRunTimer;
+  Int_t          fAutoRunScheduled;
+  Int_t          fAutoRunRunning;
 
   // Run-state, process mngmnt
   typedef std::map<Int_t, Int_t> mIntInt_t; // value should be struct { pid, state, ... };
@@ -86,6 +101,16 @@ private:
 
   mIntInt_i FindMapEntryByPid(Int_t pid);
 
+  void StartAliEve(mIntInt_i& mi);
+  void KillPid(Int_t pid);
+
+  void StartAutoRunTimer(Int_t run);
+  void StopAutoRunTimer();
+
+  // Things that should be private but have to be public for CINT.
+public:
+  void AutoRunTimerTimeout();
+
   ClassDef(AliOnlineReco, 0);
 };