ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#include "AliEveHOMERManagerEditor.h"
#include "AliEveHOMERManager.h"

#include <TVirtualPad.h>
#include <TColor.h>
#include <TROOT.h>

#include <TGLabel.h>
#include <TGButton.h>
#include <TGNumberEntry.h>
#include <TGColorSelect.h>
#include <TGDoubleSlider.h>
#include <TGComboBox.h>

//______________________________________________________________________________
// AliEveHOMERManagerEditor
//

ClassImp(AliEveHOMERManagerEditor)

AliEveHOMERManagerEditor::AliEveHOMERManagerEditor(const TGWindow *p, Int_t width, Int_t height,
	     UInt_t options, Pixel_t back) :
  
TGedFrame(p, width, height, options | kVerticalFrame, back),
  fM(0),
  fButtonConnect(NULL),
  fButtonWriteToFile(0),
  fButtonNextEvent(0),
  fButtonPrintScreens(NULL),
  fBoxTriggerSelector(0)
{
  
  MakeTitle("AliEveHOMERManager");

  // Create widgets
  // fXYZZ = new TGSomeWidget(this, ...);
  // AddFrame(fXYZZ, new TGLayoutHints(...));
  // fXYZZ->Connect("SignalName()", "AliEveHOMERManagerEditor", this, "DoXYZZ()");

  fButtonConnect = new TGTextButton(this, " Reconnect ");
  AddFrame(fButtonConnect); //, new TGLayoutHints(...));
  fButtonConnect->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "ConnectToHLT()");

  fButtonWriteToFile = new TGTextButton(this, " Write to file  ");
  AddFrame(fButtonWriteToFile); //, new TGLayoutHints(...));
  fButtonWriteToFile->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "WriteBlockListToFile()");


  fButtonNextEvent = new TGTextButton(this, "  NextEvent  ");
  AddFrame(fButtonNextEvent); //, new TGLayoutHints(...));
  fButtonNextEvent->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "NextEvent()");


  fBoxTriggerSelector = new TGComboBox(this, "Select Trigger");
  fBoxTriggerSelector->AddEntry("HLT Global Trigger", 0);
  fBoxTriggerSelector->AddEntry("Barrel multiplicity trigger", 1);
  fBoxTriggerSelector->AddEntry("PHOS Geometry trigger", 2);
  fBoxTriggerSelector->AddEntry("No trigger selection", 3);
  fBoxTriggerSelector->Connect("Selected(Int_t)","AliEveHOMERManagerEditor", this, "SetTriggerString(int)");
  fBoxTriggerSelector->SetWidth(150);
  fBoxTriggerSelector->SetHeight(25);
  AddFrame(fBoxTriggerSelector);


}

/******************************************************************************/

void AliEveHOMERManagerEditor::SetModel(TObject* obj) {
  fM = dynamic_cast<AliEveHOMERManager*>(obj);

  // Set values of widgets
  // fXYZZ->SetValue(fM->GetXYZZ());
}

/******************************************************************************/

void AliEveHOMERManagerEditor::ConnectToHLT() {
   // Connects to HOMER sources -> to HLT.
  fM->ReConnectHOMER();
}

void AliEveHOMERManagerEditor::NextEvent() {
  // call next event from AliEveHOMERManger
  fM->NextHOMEREvent();
}



void AliEveHOMERManagerEditor::SetTriggerString(int id) {

  if (id < 0 || id > 3) {
    return;
  }
  
  TString tsa[4] = {"HLTGlobalTrigger", 
		    "BarrelMultiplicityTrigger", 
		    "PHOSgeomTrigger",
		    "ALL"};
   
 
  fM->SetTriggerString(tsa[id]);
    
}

 AliEveHOMERManagerEditor.cxx:1
 AliEveHOMERManagerEditor.cxx:2
 AliEveHOMERManagerEditor.cxx:3
 AliEveHOMERManagerEditor.cxx:4
 AliEveHOMERManagerEditor.cxx:5
 AliEveHOMERManagerEditor.cxx:6
 AliEveHOMERManagerEditor.cxx:7
 AliEveHOMERManagerEditor.cxx:8
 AliEveHOMERManagerEditor.cxx:9
 AliEveHOMERManagerEditor.cxx:10
 AliEveHOMERManagerEditor.cxx:11
 AliEveHOMERManagerEditor.cxx:12
 AliEveHOMERManagerEditor.cxx:13
 AliEveHOMERManagerEditor.cxx:14
 AliEveHOMERManagerEditor.cxx:15
 AliEveHOMERManagerEditor.cxx:16
 AliEveHOMERManagerEditor.cxx:17
 AliEveHOMERManagerEditor.cxx:18
 AliEveHOMERManagerEditor.cxx:19
 AliEveHOMERManagerEditor.cxx:20
 AliEveHOMERManagerEditor.cxx:21
 AliEveHOMERManagerEditor.cxx:22
 AliEveHOMERManagerEditor.cxx:23
 AliEveHOMERManagerEditor.cxx:24
 AliEveHOMERManagerEditor.cxx:25
 AliEveHOMERManagerEditor.cxx:26
 AliEveHOMERManagerEditor.cxx:27
 AliEveHOMERManagerEditor.cxx:28
 AliEveHOMERManagerEditor.cxx:29
 AliEveHOMERManagerEditor.cxx:30
 AliEveHOMERManagerEditor.cxx:31
 AliEveHOMERManagerEditor.cxx:32
 AliEveHOMERManagerEditor.cxx:33
 AliEveHOMERManagerEditor.cxx:34
 AliEveHOMERManagerEditor.cxx:35
 AliEveHOMERManagerEditor.cxx:36
 AliEveHOMERManagerEditor.cxx:37
 AliEveHOMERManagerEditor.cxx:38
 AliEveHOMERManagerEditor.cxx:39
 AliEveHOMERManagerEditor.cxx:40
 AliEveHOMERManagerEditor.cxx:41
 AliEveHOMERManagerEditor.cxx:42
 AliEveHOMERManagerEditor.cxx:43
 AliEveHOMERManagerEditor.cxx:44
 AliEveHOMERManagerEditor.cxx:45
 AliEveHOMERManagerEditor.cxx:46
 AliEveHOMERManagerEditor.cxx:47
 AliEveHOMERManagerEditor.cxx:48
 AliEveHOMERManagerEditor.cxx:49
 AliEveHOMERManagerEditor.cxx:50
 AliEveHOMERManagerEditor.cxx:51
 AliEveHOMERManagerEditor.cxx:52
 AliEveHOMERManagerEditor.cxx:53
 AliEveHOMERManagerEditor.cxx:54
 AliEveHOMERManagerEditor.cxx:55
 AliEveHOMERManagerEditor.cxx:56
 AliEveHOMERManagerEditor.cxx:57
 AliEveHOMERManagerEditor.cxx:58
 AliEveHOMERManagerEditor.cxx:59
 AliEveHOMERManagerEditor.cxx:60
 AliEveHOMERManagerEditor.cxx:61
 AliEveHOMERManagerEditor.cxx:62
 AliEveHOMERManagerEditor.cxx:63
 AliEveHOMERManagerEditor.cxx:64
 AliEveHOMERManagerEditor.cxx:65
 AliEveHOMERManagerEditor.cxx:66
 AliEveHOMERManagerEditor.cxx:67
 AliEveHOMERManagerEditor.cxx:68
 AliEveHOMERManagerEditor.cxx:69
 AliEveHOMERManagerEditor.cxx:70
 AliEveHOMERManagerEditor.cxx:71
 AliEveHOMERManagerEditor.cxx:72
 AliEveHOMERManagerEditor.cxx:73
 AliEveHOMERManagerEditor.cxx:74
 AliEveHOMERManagerEditor.cxx:75
 AliEveHOMERManagerEditor.cxx:76
 AliEveHOMERManagerEditor.cxx:77
 AliEveHOMERManagerEditor.cxx:78
 AliEveHOMERManagerEditor.cxx:79
 AliEveHOMERManagerEditor.cxx:80
 AliEveHOMERManagerEditor.cxx:81
 AliEveHOMERManagerEditor.cxx:82
 AliEveHOMERManagerEditor.cxx:83
 AliEveHOMERManagerEditor.cxx:84
 AliEveHOMERManagerEditor.cxx:85
 AliEveHOMERManagerEditor.cxx:86
 AliEveHOMERManagerEditor.cxx:87
 AliEveHOMERManagerEditor.cxx:88
 AliEveHOMERManagerEditor.cxx:89
 AliEveHOMERManagerEditor.cxx:90
 AliEveHOMERManagerEditor.cxx:91
 AliEveHOMERManagerEditor.cxx:92
 AliEveHOMERManagerEditor.cxx:93
 AliEveHOMERManagerEditor.cxx:94
 AliEveHOMERManagerEditor.cxx:95
 AliEveHOMERManagerEditor.cxx:96
 AliEveHOMERManagerEditor.cxx:97
 AliEveHOMERManagerEditor.cxx:98
 AliEveHOMERManagerEditor.cxx:99
 AliEveHOMERManagerEditor.cxx:100
 AliEveHOMERManagerEditor.cxx:101
 AliEveHOMERManagerEditor.cxx:102
 AliEveHOMERManagerEditor.cxx:103
 AliEveHOMERManagerEditor.cxx:104
 AliEveHOMERManagerEditor.cxx:105
 AliEveHOMERManagerEditor.cxx:106
 AliEveHOMERManagerEditor.cxx:107
 AliEveHOMERManagerEditor.cxx:108
 AliEveHOMERManagerEditor.cxx:109
 AliEveHOMERManagerEditor.cxx:110
 AliEveHOMERManagerEditor.cxx:111
 AliEveHOMERManagerEditor.cxx:112
 AliEveHOMERManagerEditor.cxx:113
 AliEveHOMERManagerEditor.cxx:114