ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 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 "AliEveMUONChamberEditor.h"

#include <EveDet/AliEveMUONChamber.h>

#include <TEveGValuators.h>
#include <TGSlider.h>
#include <TGDoubleSlider.h>


//______________________________________________________________________________
// AliEveMUONChamberEditor
//

ClassImp(AliEveMUONChamberEditor)

//______________________________________________________________________________
AliEveMUONChamberEditor::AliEveMUONChamberEditor(const TGWindow *p,
                                     Int_t width, Int_t height,
                                     UInt_t options, Pixel_t back) :
  TGedFrame(p, width, height, options | kVerticalFrame, back),
  fM(0),
  fThreshold(0),
  fMaxVal(0),
  fClusterSize(0),
  fHitSize(0)
{
  //
  // constructor
  //

  MakeTitle("AliEveMUONChamber");

  Int_t labelW = 60;

  fThreshold = new TEveGValuator(this, "ADC min", 200, 0);
  fThreshold->SetNELength(4);
  fThreshold->SetLabelWidth(labelW);
  fThreshold->Build();
  fThreshold->GetSlider()->SetWidth(120);
  fThreshold->SetLimits(0,4096);
  fThreshold->Connect("ValueSet(Double_t)",
                      "AliEveMUONChamberEditor", this, "DoThreshold()");
  AddFrame(fThreshold, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

  fMaxVal = new TEveGValuator(this,"ADC max", 200, 0);
  fMaxVal->SetNELength(4);
  fMaxVal->SetLabelWidth(labelW);
  fMaxVal->Build();
  fMaxVal->GetSlider()->SetWidth(120);
  fMaxVal->SetLimits(0, 4096);
  fMaxVal->Connect("ValueSet(Double_t)",
                   "AliEveMUONChamberEditor", this, "DoMaxVal()");
  AddFrame(fMaxVal, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

  fClusterSize = new TEveGValuator(this,"Cls size", 200, 0);
  fClusterSize->SetLabelWidth(labelW);
  fClusterSize->SetShowSlider(kFALSE);
  fClusterSize->SetNELength(4);
  fClusterSize->Build();
  fClusterSize->SetLimits(0, 24);
  fClusterSize->SetToolTip("Size of displayed clusters");
  fClusterSize->Connect("ValueSet(Double_t)",
                      "AliEveMUONChamberEditor", this, "DoClusterSize()");
  AddFrame(fClusterSize, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

  fHitSize = new TEveGValuator(this,"TEveHit size", 200, 0);
  fHitSize->SetLabelWidth(labelW);
  fHitSize->SetShowSlider(kFALSE);
  fHitSize->SetNELength(4);
  fHitSize->Build();
  fHitSize->SetLimits(0, 24);
  fHitSize->SetToolTip("Size of displayed clusters");
  fHitSize->Connect("ValueSet(Double_t)",
                      "AliEveMUONChamberEditor", this, "DoHitSize()");
  AddFrame(fHitSize, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

}

//______________________________________________________________________________
AliEveMUONChamberEditor::~AliEveMUONChamberEditor()
{
  //
  // destructor
  //

}

//______________________________________________________________________________
void AliEveMUONChamberEditor::SetModel(TObject* obj)
{
  //
  // ...
  //

  fM = static_cast<AliEveMUONChamber*>(obj);

  fThreshold->SetValue(fM->fThreshold);
  fMaxVal->SetValue(fM->fMaxVal);
  fClusterSize->SetValue(fM->fClusterSize);
  fHitSize->SetValue(fM->fHitSize);

}

//______________________________________________________________________________
void AliEveMUONChamberEditor::DoThreshold()
{
  //
  // set digit minimum amplitude
  //

  fM->SetThreshold((Short_t) fThreshold->GetValue());
  fThreshold->SetValue(fM->fThreshold);
  Update();

}

//______________________________________________________________________________
void AliEveMUONChamberEditor::DoMaxVal()
{
  //
  // set digit maximum amplitude
  //

  fM->SetMaxVal((Int_t) fMaxVal->GetValue());
  fMaxVal->SetValue(fM->fMaxVal);
  Update();

}

//______________________________________________________________________________
void AliEveMUONChamberEditor::DoClusterSize()
{
  //
  // set the cluster point size
  //

  fM->SetClusterSize((Int_t) fClusterSize->GetValue());
  fClusterSize->SetValue(fM->fClusterSize);
  Update();

}

//______________________________________________________________________________
void AliEveMUONChamberEditor::DoHitSize()
{
  //
  // set the hit point size
  //

  fM->SetHitSize((Int_t) fHitSize->GetValue());
  fHitSize->SetValue(fM->fHitSize);
  Update();

}
 AliEveMUONChamberEditor.cxx:1
 AliEveMUONChamberEditor.cxx:2
 AliEveMUONChamberEditor.cxx:3
 AliEveMUONChamberEditor.cxx:4
 AliEveMUONChamberEditor.cxx:5
 AliEveMUONChamberEditor.cxx:6
 AliEveMUONChamberEditor.cxx:7
 AliEveMUONChamberEditor.cxx:8
 AliEveMUONChamberEditor.cxx:9
 AliEveMUONChamberEditor.cxx:10
 AliEveMUONChamberEditor.cxx:11
 AliEveMUONChamberEditor.cxx:12
 AliEveMUONChamberEditor.cxx:13
 AliEveMUONChamberEditor.cxx:14
 AliEveMUONChamberEditor.cxx:15
 AliEveMUONChamberEditor.cxx:16
 AliEveMUONChamberEditor.cxx:17
 AliEveMUONChamberEditor.cxx:18
 AliEveMUONChamberEditor.cxx:19
 AliEveMUONChamberEditor.cxx:20
 AliEveMUONChamberEditor.cxx:21
 AliEveMUONChamberEditor.cxx:22
 AliEveMUONChamberEditor.cxx:23
 AliEveMUONChamberEditor.cxx:24
 AliEveMUONChamberEditor.cxx:25
 AliEveMUONChamberEditor.cxx:26
 AliEveMUONChamberEditor.cxx:27
 AliEveMUONChamberEditor.cxx:28
 AliEveMUONChamberEditor.cxx:29
 AliEveMUONChamberEditor.cxx:30
 AliEveMUONChamberEditor.cxx:31
 AliEveMUONChamberEditor.cxx:32
 AliEveMUONChamberEditor.cxx:33
 AliEveMUONChamberEditor.cxx:34
 AliEveMUONChamberEditor.cxx:35
 AliEveMUONChamberEditor.cxx:36
 AliEveMUONChamberEditor.cxx:37
 AliEveMUONChamberEditor.cxx:38
 AliEveMUONChamberEditor.cxx:39
 AliEveMUONChamberEditor.cxx:40
 AliEveMUONChamberEditor.cxx:41
 AliEveMUONChamberEditor.cxx:42
 AliEveMUONChamberEditor.cxx:43
 AliEveMUONChamberEditor.cxx:44
 AliEveMUONChamberEditor.cxx:45
 AliEveMUONChamberEditor.cxx:46
 AliEveMUONChamberEditor.cxx:47
 AliEveMUONChamberEditor.cxx:48
 AliEveMUONChamberEditor.cxx:49
 AliEveMUONChamberEditor.cxx:50
 AliEveMUONChamberEditor.cxx:51
 AliEveMUONChamberEditor.cxx:52
 AliEveMUONChamberEditor.cxx:53
 AliEveMUONChamberEditor.cxx:54
 AliEveMUONChamberEditor.cxx:55
 AliEveMUONChamberEditor.cxx:56
 AliEveMUONChamberEditor.cxx:57
 AliEveMUONChamberEditor.cxx:58
 AliEveMUONChamberEditor.cxx:59
 AliEveMUONChamberEditor.cxx:60
 AliEveMUONChamberEditor.cxx:61
 AliEveMUONChamberEditor.cxx:62
 AliEveMUONChamberEditor.cxx:63
 AliEveMUONChamberEditor.cxx:64
 AliEveMUONChamberEditor.cxx:65
 AliEveMUONChamberEditor.cxx:66
 AliEveMUONChamberEditor.cxx:67
 AliEveMUONChamberEditor.cxx:68
 AliEveMUONChamberEditor.cxx:69
 AliEveMUONChamberEditor.cxx:70
 AliEveMUONChamberEditor.cxx:71
 AliEveMUONChamberEditor.cxx:72
 AliEveMUONChamberEditor.cxx:73
 AliEveMUONChamberEditor.cxx:74
 AliEveMUONChamberEditor.cxx:75
 AliEveMUONChamberEditor.cxx:76
 AliEveMUONChamberEditor.cxx:77
 AliEveMUONChamberEditor.cxx:78
 AliEveMUONChamberEditor.cxx:79
 AliEveMUONChamberEditor.cxx:80
 AliEveMUONChamberEditor.cxx:81
 AliEveMUONChamberEditor.cxx:82
 AliEveMUONChamberEditor.cxx:83
 AliEveMUONChamberEditor.cxx:84
 AliEveMUONChamberEditor.cxx:85
 AliEveMUONChamberEditor.cxx:86
 AliEveMUONChamberEditor.cxx:87
 AliEveMUONChamberEditor.cxx:88
 AliEveMUONChamberEditor.cxx:89
 AliEveMUONChamberEditor.cxx:90
 AliEveMUONChamberEditor.cxx:91
 AliEveMUONChamberEditor.cxx:92
 AliEveMUONChamberEditor.cxx:93
 AliEveMUONChamberEditor.cxx:94
 AliEveMUONChamberEditor.cxx:95
 AliEveMUONChamberEditor.cxx:96
 AliEveMUONChamberEditor.cxx:97
 AliEveMUONChamberEditor.cxx:98
 AliEveMUONChamberEditor.cxx:99
 AliEveMUONChamberEditor.cxx:100
 AliEveMUONChamberEditor.cxx:101
 AliEveMUONChamberEditor.cxx:102
 AliEveMUONChamberEditor.cxx:103
 AliEveMUONChamberEditor.cxx:104
 AliEveMUONChamberEditor.cxx:105
 AliEveMUONChamberEditor.cxx:106
 AliEveMUONChamberEditor.cxx:107
 AliEveMUONChamberEditor.cxx:108
 AliEveMUONChamberEditor.cxx:109
 AliEveMUONChamberEditor.cxx:110
 AliEveMUONChamberEditor.cxx:111
 AliEveMUONChamberEditor.cxx:112
 AliEveMUONChamberEditor.cxx:113
 AliEveMUONChamberEditor.cxx:114
 AliEveMUONChamberEditor.cxx:115
 AliEveMUONChamberEditor.cxx:116
 AliEveMUONChamberEditor.cxx:117
 AliEveMUONChamberEditor.cxx:118
 AliEveMUONChamberEditor.cxx:119
 AliEveMUONChamberEditor.cxx:120
 AliEveMUONChamberEditor.cxx:121
 AliEveMUONChamberEditor.cxx:122
 AliEveMUONChamberEditor.cxx:123
 AliEveMUONChamberEditor.cxx:124
 AliEveMUONChamberEditor.cxx:125
 AliEveMUONChamberEditor.cxx:126
 AliEveMUONChamberEditor.cxx:127
 AliEveMUONChamberEditor.cxx:128
 AliEveMUONChamberEditor.cxx:129
 AliEveMUONChamberEditor.cxx:130
 AliEveMUONChamberEditor.cxx:131
 AliEveMUONChamberEditor.cxx:132
 AliEveMUONChamberEditor.cxx:133
 AliEveMUONChamberEditor.cxx:134
 AliEveMUONChamberEditor.cxx:135
 AliEveMUONChamberEditor.cxx:136
 AliEveMUONChamberEditor.cxx:137
 AliEveMUONChamberEditor.cxx:138
 AliEveMUONChamberEditor.cxx:139
 AliEveMUONChamberEditor.cxx:140
 AliEveMUONChamberEditor.cxx:141
 AliEveMUONChamberEditor.cxx:142
 AliEveMUONChamberEditor.cxx:143
 AliEveMUONChamberEditor.cxx:144
 AliEveMUONChamberEditor.cxx:145
 AliEveMUONChamberEditor.cxx:146
 AliEveMUONChamberEditor.cxx:147
 AliEveMUONChamberEditor.cxx:148
 AliEveMUONChamberEditor.cxx:149
 AliEveMUONChamberEditor.cxx:150
 AliEveMUONChamberEditor.cxx:151
 AliEveMUONChamberEditor.cxx:152
 AliEveMUONChamberEditor.cxx:153
 AliEveMUONChamberEditor.cxx:154
 AliEveMUONChamberEditor.cxx:155
 AliEveMUONChamberEditor.cxx:156
 AliEveMUONChamberEditor.cxx:157
 AliEveMUONChamberEditor.cxx:158
 AliEveMUONChamberEditor.cxx:159
 AliEveMUONChamberEditor.cxx:160
 AliEveMUONChamberEditor.cxx:161
 AliEveMUONChamberEditor.cxx:162
 AliEveMUONChamberEditor.cxx:163