]>
Commit | Line | Data |
---|---|---|
d810d0de | 1 | // $Id$ |
2 | // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
092578a7 | 3 | |
d810d0de | 4 | /************************************************************************** |
5 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * | |
6 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
9 | ||
10 | #include "AliEveTPCSector3DEditor.h" | |
11 | #include <Alieve/AliEveTPCSector3D.h> | |
092578a7 | 12 | |
84aff7a4 | 13 | #include <TEveGValuators.h> |
e2bf98a4 | 14 | |
092578a7 | 15 | #include <TVirtualPad.h> |
16 | #include <TColor.h> | |
17 | ||
18 | #include <TGLabel.h> | |
19 | #include <TGButton.h> | |
20 | #include <TGNumberEntry.h> | |
21 | #include <TGColorSelect.h> | |
22 | #include <TGSlider.h> | |
23 | #include <TGDoubleSlider.h> | |
d810d0de | 24 | |
092578a7 | 25 | |
26 | //______________________________________________________________________ | |
d810d0de | 27 | // AliEveTPCSector3DEditor |
092578a7 | 28 | // |
29 | ||
d810d0de | 30 | ClassImp(AliEveTPCSector3DEditor) |
092578a7 | 31 | |
d810d0de | 32 | AliEveTPCSector3DEditor::AliEveTPCSector3DEditor(const TGWindow *p, |
265ecb21 | 33 | Int_t width, Int_t height, |
092578a7 | 34 | UInt_t options, Pixel_t back) : |
a8600b56 | 35 | TGedFrame(p, width, height, options | kVerticalFrame, back), |
265ecb21 | 36 | fM(0), |
37 | fRnrFrame(0), fDriftVel(0), fPointFrac(0), fPointSize(0) | |
092578a7 | 38 | { |
d810d0de | 39 | MakeTitle("AliEveTPCSector3D"); |
092578a7 | 40 | |
e2bf98a4 | 41 | Int_t labelW = 60; |
42 | ||
092578a7 | 43 | fRnrFrame = new TGCheckButton(this, "ShowFrame"); |
44 | AddFrame(fRnrFrame, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0)); | |
45 | fRnrFrame->Connect | |
d810d0de | 46 | ("Toggled(Bool_t)","AliEveTPCSector3DEditor", this, "DoRnrFrame()"); |
092578a7 | 47 | |
84aff7a4 | 48 | fDriftVel = new TEveGValuator(this, "Vdrift fac", 110, 0); |
e2bf98a4 | 49 | fDriftVel->SetLabelWidth(labelW); |
50 | fDriftVel->SetShowSlider(kFALSE); | |
51 | fDriftVel->SetNELength(6); | |
52 | fDriftVel->Build(); | |
53 | fDriftVel->SetLimits(0.1, 10, 1, TGNumberFormat::kNESRealThree); | |
54 | fDriftVel->SetToolTip("Drift velocity factor"); | |
55 | fDriftVel->Connect("ValueSet(Double_t)", | |
d810d0de | 56 | "AliEveTPCSector3DEditor", this, "DoDriftVel()"); |
e2bf98a4 | 57 | AddFrame(fDriftVel, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1)); |
58 | ||
84aff7a4 | 59 | fPointFrac = new TEveGValuator(this,"Point frac", 200, 0); |
e2bf98a4 | 60 | fPointFrac->SetLabelWidth(labelW); |
61 | fPointFrac->SetNELength(4); | |
62 | fPointFrac->Build(); | |
63 | fPointFrac->GetSlider()->SetWidth(101 + 16); | |
64 | fPointFrac->SetLimits(0.0, 1.0, 101); | |
65 | fPointFrac->SetToolTip("Fraction of signal range displayed as points"); | |
66 | fPointFrac->Connect("ValueSet(Double_t)", | |
d810d0de | 67 | "AliEveTPCSector3DEditor", this, "DoPointFrac()"); |
e2bf98a4 | 68 | AddFrame(fPointFrac, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1)); |
092578a7 | 69 | |
84aff7a4 | 70 | fPointSize = new TEveGValuator(this,"Point size", 200, 0); |
8a08431f | 71 | fPointSize->SetLabelWidth(labelW); |
72 | fPointSize->SetShowSlider(kFALSE); | |
73 | fPointSize->SetNELength(4); | |
74 | fPointSize->Build(); | |
75 | //fPointSize->GetSlider()->SetWidth(101 + 16); | |
76 | fPointSize->SetLimits(0.1, 32.0, 1, TGNumberFormat::kNESRealOne); | |
77 | fPointSize->SetToolTip("Size of displayed points"); | |
78 | fPointSize->Connect("ValueSet(Double_t)", | |
d810d0de | 79 | "AliEveTPCSector3DEditor", this, "DoPointSize()"); |
8a08431f | 80 | AddFrame(fPointSize, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1)); |
092578a7 | 81 | } |
82 | ||
d810d0de | 83 | AliEveTPCSector3DEditor::~AliEveTPCSector3DEditor() |
092578a7 | 84 | {} |
85 | ||
86 | /**************************************************************************/ | |
87 | ||
d810d0de | 88 | void AliEveTPCSector3DEditor::SetModel(TObject* obj) |
092578a7 | 89 | { |
d810d0de | 90 | fM = dynamic_cast<AliEveTPCSector3D*>(obj); |
092578a7 | 91 | |
92 | fRnrFrame->SetState(fM->fRnrFrame ? kButtonDown : kButtonUp); | |
e2bf98a4 | 93 | fDriftVel->SetValue(fM->fDriftVel); |
94 | ||
95 | fPointFrac->SetValue(fM->fPointFrac); | |
8a08431f | 96 | fPointSize->SetValue(fM->fPointSize); |
092578a7 | 97 | } |
98 | ||
99 | /**************************************************************************/ | |
100 | ||
d810d0de | 101 | void AliEveTPCSector3DEditor::DoRnrFrame() |
092578a7 | 102 | { |
103 | fM->SetRnrFrame(fRnrFrame->IsOn()); | |
104 | Update(); | |
105 | } | |
106 | ||
d810d0de | 107 | void AliEveTPCSector3DEditor::DoDriftVel() |
092578a7 | 108 | { |
e2bf98a4 | 109 | fM->SetDriftVel(fDriftVel->GetValue()); |
092578a7 | 110 | Update(); |
111 | } | |
e2bf98a4 | 112 | |
d810d0de | 113 | void AliEveTPCSector3DEditor::DoPointFrac() |
e2bf98a4 | 114 | { |
115 | fM->SetPointFrac(fPointFrac->GetValue()); | |
116 | Update(); | |
117 | } | |
118 | ||
d810d0de | 119 | void AliEveTPCSector3DEditor::DoPointSize() |
8a08431f | 120 | { |
121 | fM->SetPointSize(fPointSize->GetValue()); | |
122 | Update(); | |
123 | } | |
124 |