Adding brand new 4 physics partition type - PHYSICS_X. Cross-checked and confirmed...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 2 Oct 2009 13:03:05 +0000 (13:03 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 2 Oct 2009 13:03:05 +0000 (13:03 +0000)
MONITOR/AliOnlineReco.cxx
MONITOR/AliOnlineReco.h
MONITOR/alionlinemonitor.cxx

index 8eaac6a..237f736 100644 (file)
@@ -30,9 +30,6 @@ AliOnlineReco::AliOnlineReco() :
 
   fRunList(0), fStartButt(0), fStopButt(0), fXyzzButt(0),
 
-  fSOR(new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS")),
-  fEOR(new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS")),
-
   fTestMode(kFALSE)
 {
   // GUI components.
@@ -59,9 +56,22 @@ AliOnlineReco::AliOnlineReco() :
   Layout();
   SetWindowName("Alice Online Reconstruction");
 
-  // DIM interface.
-  fSOR->Connect("DimMessage(Int_t)", "AliOnlineReco", this, "StartOfRun(Int_t)");
-  fEOR->Connect("DimMessage(Int_t)", "AliOnlineReco", this, "EndOfRun(Int_t)");
+  // DIM interface.  
+  for (Int_t i = 0; i < 5; ++i)
+  {
+    if (i == 0)
+    {
+      fSOR[i] = new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS");
+      fEOR[i] = new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS");
+    }
+    else
+    {
+      fSOR[i] = new AliDimIntNotifier(Form("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS_%d", i));
+      fEOR[i] = new AliDimIntNotifier(Form("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS_%d", i));
+    }
+    fSOR[i]->Connect("DimMessage(Int_t)", "AliOnlineReco", this, "StartOfRun(Int_t)");
+    fEOR[i]->Connect("DimMessage(Int_t)", "AliOnlineReco", this, "EndOfRun(Int_t)");
+  }
 
   // Signal handlers
   // ROOT's TSignalHAndler works not SIGCHLD ...
index 529ecbf..bcbb2e5 100644 (file)
@@ -32,8 +32,8 @@ public:
   AliOnlineReco();
   virtual ~AliOnlineReco() {}
 
-  AliDimIntNotifier* GetSOR() const { return fSOR; }
-  AliDimIntNotifier* GetEOR() const { return fEOR; }
+  AliDimIntNotifier* GetSOR(Int_t i) const { return fSOR[i]; }
+  AliDimIntNotifier* GetEOR(Int_t i) const { return fEOR[i]; }
 
   void SetTestMode() { fTestMode = kTRUE; }
 
@@ -73,8 +73,8 @@ private:
   TGTextButton  *fXyzzButt;
 
   // DIM interface. Could do without ...
-  AliDimIntNotifier *fSOR;
-  AliDimIntNotifier *fEOR;
+  AliDimIntNotifier *fSOR[5];
+  AliDimIntNotifier *fEOR[5];
 
   // Run-state, process mngmnt
   typedef std::map<Int_t, Int_t> mIntInt_t; // value should be struct { pid, state, ... };
index 245cbcd..47277a3 100644 (file)
@@ -24,10 +24,10 @@ int main(int argc, char **argv)
   {
     win->SetTestMode();
 
-    win->GetSOR()->infoHandlerTest(2214);
-    win->GetSOR()->infoHandlerTest(2215);
-    win->GetSOR()->infoHandlerTest(2224);
-    win->GetSOR()->infoHandlerTest(2244);
+    win->GetSOR(0)->infoHandlerTest(2214);
+    win->GetSOR(0)->infoHandlerTest(2215);
+    win->GetSOR(0)->infoHandlerTest(2224);
+    win->GetSOR(0)->infoHandlerTest(2244);
 
     printf("win = (AliOnlineReco*) 0x%lx\n", (unsigned long)win);
   }
@@ -54,8 +54,6 @@ int main(int argc, char **argv)
     TTimeStamp ts;
     sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL AND partition REGEXP 'PHYSICS.*'",
                  ts.GetSec()-86400);
-    //    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL",
-    //           ts.GetSec()-86400);
     TSQLResult* result = server->Query(sqlQuery);
     if (!result) {
       printf("ERROR: Can't execute query <%s>!", sqlQuery.Data());