]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveBase/AliEveCascadeListEditor.cxx
Merge revs 30349 and 30378 from the EVE-root-trunk branch - they were committed there...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveCascadeListEditor.cxx
CommitLineData
2991d609 1// @(#)root/eve:$Id$
2// Author: Matevz Tadel 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
9
10#include "AliEveCascadeListEditor.h"
11#include "AliEveCascade.h"
12
13#include "TEveGValuators.h"
14
15#include "TVirtualPad.h"
16#include "TColor.h"
17
18// Cleanup these includes:
19#include "TGLabel.h"
20#include "TGButton.h"
21#include "TGNumberEntry.h"
22#include "TGColorSelect.h"
23#include "TGDoubleSlider.h"
24
25
26//______________________________________________________________________________
27// GUI editor for AliEveCascadeList.
28//
29
30ClassImp(AliEveCascadeListEditor)
31
32//______________________________________________________________________________
33AliEveCascadeListEditor::AliEveCascadeListEditor(const TGWindow *p, Int_t width, Int_t height,
34 UInt_t options, Pixel_t back) :
35 TGedFrame(p, width, height, options | kVerticalFrame, back),
36 fM(0),
37 fMinMaxRCut(0),
38 fMinMaxDaughterDCA(0),
39 fMinMaxPt(0)
40{
41 // Constructor.
42
43 MakeTitle("AliEveCascadeList");
44
45 // Create widgets
46 // fXYZZ = new TGSomeWidget(this, ...);
47 // AddFrame(fXYZZ, new TGLayoutHints(...));
48 // fXYZZ->Connect("SignalName()", "Reve::AliEveCascadeListEditor", this, "DoXYZZ()");
49
50 fMinMaxRCut = new TEveGDoubleValuator(this,"Radius:", 130, 0);
51 fMinMaxRCut->SetNELength(5);
52 fMinMaxRCut->SetLabelWidth(74);
53 fMinMaxRCut->Build();
54 fMinMaxRCut->GetSlider()->SetWidth(200);
55 fMinMaxRCut->SetLimits(0, 100, TGNumberFormat::kNESRealOne);
56 fMinMaxRCut->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxRCut()");
57 AddFrame(fMinMaxRCut, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
58
59 fMinMaxDaughterDCA = new TEveGDoubleValuator(this,"DCA:", 130, 0);
60 fMinMaxDaughterDCA->SetNELength(5);
61 fMinMaxDaughterDCA->SetLabelWidth(74);
62 fMinMaxDaughterDCA->Build();
63 fMinMaxDaughterDCA->GetSlider()->SetWidth(200);
64 fMinMaxDaughterDCA->SetLimits(0, 1, TGNumberFormat::kNESRealTwo);
65 fMinMaxDaughterDCA->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxDaughterDCA()");
66 AddFrame(fMinMaxDaughterDCA, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
67
68 fMinMaxPt = new TEveGDoubleValuator(this,"pT:", 130, 0);
69 fMinMaxPt->SetNELength(5);
70 fMinMaxPt->SetLabelWidth(74);
71 fMinMaxPt->Build();
72 fMinMaxPt->GetSlider()->SetWidth(200);
73 fMinMaxPt->SetLimits(0, 20, TGNumberFormat::kNESRealOne);
74 fMinMaxPt->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxPt()");
75 AddFrame(fMinMaxPt, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
76}
77
78/******************************************************************************/
79
80//______________________________________________________________________________
81void AliEveCascadeListEditor::SetModel(TObject* obj)
82{
83 // Set model object.
84
85 fM = dynamic_cast<AliEveCascadeList*>(obj);
86
87 // Set values of widgets
88 // fXYZZ->SetValue(fM->GetXYZZ());
89
90 fMinMaxRCut->SetValues(fM->fMinRCut, fM->fMaxRCut);
91 fMinMaxDaughterDCA->SetValues(fM->fMinDaughterDCA, fM->fMaxDaughterDCA);
92 fMinMaxPt->SetValues(fM->fMinPt, fM->fMaxPt);
93}
94
95/******************************************************************************/
96
97// Implements callback/slot methods
98
99//______________________________________________________________________________
100// void AliEveCascadeListEditor::DoXYZZ()
101// {
102// // Slot for XYZZ.
103//
104// fM->SetXYZZ(fXYZZ->GetValue());
105// Update();
106// }
107
108void AliEveCascadeListEditor::DoMinMaxRCut()
109{
110 fM->FilterByRadius(fMinMaxRCut->GetMin(), fMinMaxRCut->GetMax());
111}
112
113void AliEveCascadeListEditor::DoMinMaxDaughterDCA()
114{
115 fM->FilterByDaughterDCA(fMinMaxDaughterDCA->GetMin(), fMinMaxDaughterDCA->GetMax());
116}
117
118void AliEveCascadeListEditor::DoMinMaxPt()
119{
120 fM->FilterByPt(fMinMaxPt->GetMin(), fMinMaxPt->GetMax());
121}