]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/TrackFitterEditor.cxx
4e767dbbacf1a3c95f168b0225331b10c96ddc97
[u/mrichter/AliRoot.git] / EVE / Alieve / TrackFitterEditor.cxx
1 // $Header$
2
3 #include "TrackFitterEditor.h"
4 #include <Alieve/TrackFitter.h>
5
6 #include <TGButton.h>
7
8 using namespace Reve;
9 using namespace Alieve;
10
11 //______________________________________________________________________
12 // TrackFitterEditor
13 //
14
15 ClassImp(TrackFitterEditor)
16
17 TrackFitterEditor::TrackFitterEditor(const TGWindow *p, Int_t width, Int_t height,
18              UInt_t options, Pixel_t back) :
19   TGedFrame(p, width, height, options | kVerticalFrame, back),
20   fM(0),
21   fFit(0),
22   fReset(0),
23   fStart(0),
24   fStop(0),
25   fGraph(0)
26 {
27   // Constructor.
28
29   MakeTitle("TrackFitter");
30
31   fStart = new TGTextButton(this, "Start");
32   AddFrame(fStart, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
33   fStart->Connect("Clicked()",
34                   "Alieve::TrackFitterEditor", this, "DoStart()");
35
36   fFit = new TGTextButton(this, "Fit");
37   AddFrame(fFit, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
38   fFit->Connect("Clicked()",
39                 "Alieve::TrackFitterEditor", this, "DoFit()");
40
41   fReset = new TGTextButton(this, "Reset");
42   AddFrame(fReset, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
43   fReset->Connect("Clicked()",
44                   "Alieve::TrackFitterEditor", this, "DoReset()");
45
46   fStop = new TGTextButton(this, "Stop");
47   AddFrame(fStop, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
48   fStop->Connect("Clicked()",
49                  "Alieve::TrackFitterEditor", this, "DoStop()");
50
51   fGraph = new TGTextButton(this, " RiemanGraph ");
52   AddFrame(fGraph, new TGLayoutHints(kLHintsLeft, 4, 2, 4, 1));
53   fGraph->Connect("Clicked()",
54                  "Alieve::TrackFitterEditor", this, "DoGraph()");
55  }
56
57 /**************************************************************************/
58
59 void TrackFitterEditor::SetModel(TObject* obj)
60
61   // Set model object.
62
63   fM = dynamic_cast<TrackFitter*>(obj);
64
65   if(fM->GetConnected())
66   {
67     fStart->SetState(kButtonDisabled);
68     fStop->SetState(kButtonUp);
69   }
70   else
71   { 
72     fStop->SetState(kButtonDisabled);
73     fStart->SetState(kButtonEngaged);
74     fStart->SetState(kButtonUp);
75   }
76 }
77
78 void TrackFitterEditor::DoFit()
79 {
80   // Fit slot.
81
82   fM->FitTrack();
83   Update();
84 }
85
86 void TrackFitterEditor::DoReset()
87 {
88   // Reset slot.
89
90   fM->Reset();
91   Update();
92 }
93
94 void TrackFitterEditor::DoStart()
95 {
96   // Start selection slot.
97
98   fM->Start();
99   fStart->SetState(kButtonDisabled);
100   fStop->SetState(kButtonUp);
101 }
102
103 void TrackFitterEditor::DoStop()
104 {
105   // Stop selection slot.
106
107   fM->Stop();
108   fStop->SetState(kButtonDisabled);
109   fStart->SetState(kButtonUp);
110 }
111
112 /**************************************************************************/
113
114 void TrackFitterEditor::DoGraph()
115 {
116   // Draw graph slot.
117
118   fM->DrawRiemanGraph();
119   Update();
120 }