]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveBase/AliEveEventManagerEditor.cxx
Adding a trigger selection combo-box to be used by the online display/reco. The combo...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveEventManagerEditor.cxx
index 1cc682ab2f3c899e00ec52968733d6df09da27d3..6eb97cbe766a569add077fc4bf537699562a3e1f 100644 (file)
@@ -107,6 +107,7 @@ AliEveEventManagerWindow::AliEveEventManagerWindow(AliEveEventManager* mgr) :
   fInfoLabel    (0),
   fAutoLoad     (0),
   fAutoLoadTime (0),
+  fTrigSel      (0),
   fEventInfo    (0)
 {
   // Constructor.
@@ -157,6 +158,12 @@ AliEveEventManagerWindow::AliEveEventManagerWindow(AliEveEventManager* mgr) :
     fAutoLoadTime->SetToolTip("Automatic event loading time in seconds.");
     fAutoLoadTime->Connect("ValueSet(Double_t)", cls, this, "DoSetAutoLoadTime()");
 
+    fTrigSel = new TGComboBox(f);
+    fTrigSel->Resize(4*width,b->GetDefaultHeight());
+    fTrigSel->AddEntry("No trigger selection",-1);
+    fTrigSel->Select(-1,kFALSE);
+    f->AddFrame(fTrigSel, new TGLayoutHints(kLHintsNormal, 10, 5, 0, 0));
+    fTrigSel->Connect("Selected(char*)", cls, this, "DoSetTrigSel()");
   }
 
   fEventInfo = new TGTextView(this, 400, 600);
@@ -241,6 +248,14 @@ void AliEveEventManagerWindow::DoSetAutoLoadTime()
   fM->SetAutoLoadTime(fAutoLoadTime->GetValue());
 }
 
+//______________________________________________________________________________
+void AliEveEventManagerWindow::DoSetTrigSel()
+{
+  // Set the trigger selection
+
+  fM->SetTrigSel(fTrigSel->GetSelectedEntry()->EntryId());
+}
+
 //______________________________________________________________________________
 void AliEveEventManagerWindow::Update()
 {
@@ -263,6 +278,23 @@ void AliEveEventManagerWindow::Update()
   fAutoLoad->SetState(fM->GetAutoLoad() ? kButtonDown : kButtonUp);
   fAutoLoadTime->SetValue(fM->GetAutoLoadTime());
 
+  // Loop over active trigger classes
+  if (fM->GetESD()) {
+    for(Int_t iTrig = 0; iTrig < AliESDRun::kNTriggerClasses; iTrig++) {
+      TString trigName = fM->GetESD()->GetESDRun()->GetTriggerClass(iTrig);
+      if (trigName.IsNull()) {
+       if (fTrigSel->GetListBox()->GetEntry(iTrig)) {
+         if (fTrigSel->GetSelected() == iTrig) fTrigSel->Select(-1);
+         fTrigSel->RemoveEntry(iTrig);
+       }
+       continue;
+      }
+      if (!fTrigSel->FindEntry(trigName.Data()))
+       fTrigSel->AddEntry(trigName.Data(),iTrig);
+    }
+  }
+  fTrigSel->SetEnabled(!evNavOn);
+
   fEventInfo->LoadBuffer(fM->GetEventInfoHorizontal());
 
   Layout();