2 // Author: Matevz Tadel 2007
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 **************************************************************************/
10 #include "AliEveV0ListEditor.h"
13 #include "TEveGValuators.h"
15 #include "TVirtualPad.h"
18 // Cleanup these includes:
21 #include "TGNumberEntry.h"
22 #include "TGColorSelect.h"
23 #include "TGDoubleSlider.h"
26 //______________________________________________________________________________
27 // GUI editor for AliEveV0List.
30 ClassImp(AliEveV0ListEditor)
32 //______________________________________________________________________________
33 AliEveV0ListEditor::AliEveV0ListEditor(const TGWindow *p, Int_t width, Int_t height,
34 UInt_t options, Pixel_t back) :
35 TGedFrame(p, width, height, options | kVerticalFrame, back),
38 fMinMaxDaughterDCA(0),
43 MakeTitle("AliEveV0List");
46 // fXYZZ = new TGSomeWidget(this, ...);
47 // AddFrame(fXYZZ, new TGLayoutHints(...));
48 // fXYZZ->Connect("SignalName()", "Reve::AliEveV0ListEditor", this, "DoXYZZ()");
50 fMinMaxRCut = new TEveGDoubleValuator(this,"Radius:", 130, 0);
51 fMinMaxRCut->SetNELength(5);
52 fMinMaxRCut->SetLabelWidth(74);
54 fMinMaxRCut->GetSlider()->SetWidth(200);
55 fMinMaxRCut->SetLimits(0, 100, TGNumberFormat::kNESRealOne);
56 fMinMaxRCut->Connect("ValueSet()", "AliEveV0ListEditor", this, "DoMinMaxRCut()");
57 AddFrame(fMinMaxRCut, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
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()", "AliEveV0ListEditor", this, "DoMinMaxDaughterDCA()");
66 AddFrame(fMinMaxDaughterDCA, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
68 fMinMaxPt = new TEveGDoubleValuator(this,"pT:", 130, 0);
69 fMinMaxPt->SetNELength(5);
70 fMinMaxPt->SetLabelWidth(74);
72 fMinMaxPt->GetSlider()->SetWidth(200);
73 fMinMaxPt->SetLimits(0, 20, TGNumberFormat::kNESRealOne);
74 fMinMaxPt->Connect("ValueSet()", "AliEveV0ListEditor", this, "DoMinMaxPt()");
75 AddFrame(fMinMaxPt, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
78 /******************************************************************************/
80 //______________________________________________________________________________
81 void AliEveV0ListEditor::SetModel(TObject* obj)
85 fM = dynamic_cast<AliEveV0List*>(obj);
87 // Set values of widgets
88 // fXYZZ->SetValue(fM->GetXYZZ());
90 fMinMaxRCut->SetValues(fM->fMinRCut, fM->fMaxRCut);
91 fMinMaxDaughterDCA->SetValues(fM->fMinDaughterDCA, fM->fMaxDaughterDCA);
92 fMinMaxPt->SetValues(fM->fMinPt, fM->fMaxPt);
95 /******************************************************************************/
97 // Implements callback/slot methods
99 //______________________________________________________________________________
100 // void AliEveV0ListEditor::DoXYZZ()
104 // fM->SetXYZZ(fXYZZ->GetValue());
108 void AliEveV0ListEditor::DoMinMaxRCut()
110 fM->FilterByRadius(fMinMaxRCut->GetMin(), fMinMaxRCut->GetMax());
113 void AliEveV0ListEditor::DoMinMaxDaughterDCA()
115 fM->FilterByDaughterDCA(fMinMaxDaughterDCA->GetMin(), fMinMaxDaughterDCA->GetMax());
118 void AliEveV0ListEditor::DoMinMaxPt()
120 fM->FilterByPt(fMinMaxPt->GetMin(), fMinMaxPt->GetMax());