Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TAdvancedGraphicsDialog.cxx
Go to the documentation of this file.
1// @(#)root/fitpanel:$Id$
2// Author: David Gonzalez Maline 11/12/2008
3
4/*************************************************************************
5 * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12
13/** \class TAdvancedGraphicsDialog
14 \ingroup fitpanel
15
16Allows to create advanced graphics from the last fit made in the
17fitpanel. This includes the scan graphics, the contour and the
18confidence levels.
19
20*/
21
22
24#include "TGraph.h"
25#include "TAxis.h"
26#include "TVirtualPad.h"
27#include "TColor.h"
28
29#include "Fit/BinData.h"
30#include "Math/IParamFunction.h"
31#include "TGraphErrors.h"
32#include "TGraph2DErrors.h"
33
34#include <sstream>
35
36#include <string>
37
40 fFitter((TBackCompFitter *) TVirtualFitter::GetFitter())
41{
42 // Creates the Advanced Graphics Dialog.
43
44
45 if (!p && !main) {
46 MakeZombie();
47 return;
48 }
50
51 fMainFrame = new TGVerticalFrame(this);
52
53 fTab = new TGTab(fMainFrame, 10, 10);
56 fTab->Associate(this);
57
58 // Add the first method to the dialog (Contour)
60 fTab->AddTab("Contour", fContourFrame);
61
62 // Add the second method to the dialog (Scan)
64 fTab->AddTab("Scan", fScanFrame);
65
67 fTab->AddTab("Conf Intervals", fConfFrame);
68
70
71 fDraw = new TGTextButton(frame, "&Draw", kAGD_BDRAW);
72 fDraw->Associate(this);
73 frame->AddFrame(fDraw, new TGLayoutHints(kLHintsCenterY | kLHintsExpandX, 5, 5, 0, 0));
74
75 fClose = new TGTextButton(frame, "&Close", kAGD_BCLOSE);
76 fClose->Associate(this);
77 frame->AddFrame(fClose, new TGLayoutHints(kLHintsCenterY | kLHintsExpandX, 5, 5, 0, 0));
78
79 UInt_t width = 0, height = 0;
82 frame->Resize((width + 20) * 2, height);
83
85
87
89
90 SetWindowName("Advanced Drawing Tools");
91
92 // map all widgets and calculate size of dialog
94
97
99 MapWindow();
100
101 // position relative to the parent's window
103
104 // make the message box non-resizable
107
113
114 // popup dialog and wait till user replies
115 gClient->WaitFor(this);
116}
117
118////////////////////////////////////////////////////////////////////////////////
119/// Create the frame that contains all the necessary information for
120/// the Contour method.
121
123{
126
127 TGLabel* label = new TGLabel(frame, "Number of Points: ");
128 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
129
130 fContourPoints = new TGNumberEntry(frame, 40,
131 5, kAGD_SCANMIN,
135 fContourPoints->Resize(130, 20);
136 fContourPoints->GetNumberEntry()->SetToolTipText("Sets the number of points used for the contour");
137 frame->AddFrame(fContourPoints, new TGLayoutHints(kLHintsNormal, 8, 0, 5, 0));
138 fContourFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
139
140 frame = new TGHorizontalFrame(fContourFrame);
141 label = new TGLabel(frame, "Parameter 1: ");
142 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
143
146 fContourPar1->Resize(130, 20);
147 fContourPar1->Associate(this);
149 lb->Resize(lb->GetWidth(), 200);
150 frame->AddFrame(fContourPar1, new TGLayoutHints(kLHintsNormal, 37, 0, 5, 0));
151 fContourFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
152
153 frame = new TGHorizontalFrame(fContourFrame);
154
155 label = new TGLabel(frame, "Parameter 2: ");
156 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
157
161 fContourPar2->Resize(130, 20);
162 fContourPar2->Associate(this);
163 lb = fContourPar2->GetListBox();
164 lb->Resize(lb->GetWidth(), 200);
165 frame->AddFrame(fContourPar2, new TGLayoutHints(kLHintsNormal, 37, 0, 5, 0));
166
167 fContourFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
168
169 frame = new TGHorizontalFrame(fContourFrame);
170
171 label = new TGLabel(frame, "Confidence Level: ");
172 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
173
174 fContourError = new TGNumberEntry(frame, 0.683, 5, kAGD_CONTERR,
178 fContourError->Resize(130, 20);
179 fContourError->GetNumberEntry()->SetToolTipText("Sets the contour confidence level");
180 frame->AddFrame(fContourError, new TGLayoutHints(kLHintsNormal, 5, 0, 5, 0));
181
182 fContourFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 5));
183
184 frame = new TGHorizontalFrame(fContourFrame);
185
186 label = new TGLabel(frame, "Fill Colour: ");
187 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
188
190 frame->AddFrame(fContourColor, new TGLayoutHints(kLHintsNormal, 5, 0, 5, 0));
191
192 fContourOver = new TGCheckButton(frame, "Superimpose", kAGD_CONTOVER);
193 fContourOver->SetToolTipText("If checked, the new contour will overlap the previous one");
194 frame->AddFrame(fContourOver, new TGLayoutHints(kLHintsNormal, 5, 0, 5, 0));
195
196 fContourFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 5));
197}
198
199////////////////////////////////////////////////////////////////////////////////
200/// Create the frame that contains all the necessary information for
201/// the Scan method.
202
204{
207
208 TGLabel* label = new TGLabel(frame, "Number of Points: ");
209 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
210
211 fScanPoints = new TGNumberEntry(frame, 40,
212 5, kAGD_SCANMIN,
216 fScanPoints->Resize(140, 20);
217 fScanPoints->GetNumberEntry()->SetToolTipText("Sets the number of points used in the scan");
218 frame->AddFrame(fScanPoints, new TGLayoutHints(kLHintsNormal, 0, 0, 5, 0));
219 fScanFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
220
221 frame = new TGHorizontalFrame(fScanFrame);
222
223 label = new TGLabel(frame, "Parameter: ");
224 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
225
226 fScanPar = new TGComboBox(frame, kAGD_SCANPAR);
228 fScanPar->Resize(140, 20);
229 fScanPar->Associate(this);
231 lb->Resize(lb->GetWidth(), 200);
232 frame->AddFrame(fScanPar, new TGLayoutHints(kLHintsNormal, 39, 0, 5, 0));
233 fScanFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
234
235 frame = new TGHorizontalFrame(fScanFrame);
236 label = new TGLabel(frame, "Min: ");
237 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
238
241 fScanMin = new TGNumberEntry(frame, val - 2.*err ,
242 5, kAGD_SCANMIN,
246 fScanMin->Resize(70, 20);
247 fScanMin->GetNumberEntry()->SetToolTipText("Sets the minimum parameter value");
248 frame->AddFrame(fScanMin, new TGLayoutHints(kLHintsNormal, 2, 0, 5, 0));
249
250 label = new TGLabel(frame, "Max: ");
251 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 35, 5, 5, 0));
252 fScanMax = new TGNumberEntry(frame, val + 2.*err,
253 5, kAGD_SCANMAX,
257 fScanMax->Resize(70, 20);
258 fScanMax->GetNumberEntry()->SetToolTipText("Sets the maximum parameter value");
259 frame->AddFrame(fScanMax, new TGLayoutHints(kLHintsNormal, 2, 0, 5, 0));
260 fScanFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
261
262}
263
264////////////////////////////////////////////////////////////////////////////////
265/// Create the frame that contains all the necessary information for
266/// the Confidence Level method.
267
269{
272
273 TGLabel* label = new TGLabel(frame, "Confidence Level: ");
274 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
275
276 fConfLevel = new TGNumberEntry(frame, 0.95,
277 5, kAGD_SCANMIN,
281 0, 0.9999);
282 fConfLevel->Resize(140, 20);
283 fConfLevel->GetNumberEntry()->SetToolTipText("Sets the value of the confidence level");
284 frame->AddFrame(fConfLevel, new TGLayoutHints(kLHintsNormal, 0, 0, 5, 0));
285 fConfFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 0));
286
287 frame = new TGHorizontalFrame(fConfFrame);
288
289 label = new TGLabel(frame, "Fill Colour: ");
290 frame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 0));
291
293 frame->AddFrame(fConfColor, new TGLayoutHints(kLHintsNormal, 5, 0, 5, 0));
294
295 fConfFrame->AddFrame(frame, new TGLayoutHints(kLHintsExpandX, 5, 5, 0, 5));
296}
297
299{
300 // Add all the parameters of the VirtualFitter into a comboBox
301 // (helper method)
302
303 for ( Int_t i = 0; i < fFitter->GetNumberTotalParameters(); ++i ) {
304 comboBox->AddEntry(fFitter->GetParName(i), kAGD_PARCOUNTER + i);
305 }
306 comboBox->Select(kAGD_PARCOUNTER, kFALSE);
307}
308
309////////////////////////////////////////////////////////////////////////////////
310/// Connect the slots (buttons mainly + specific methods)
311
313{
314 // Buttons
315 fClose->Connect("Clicked()", "TAdvancedGraphicsDialog", this, "CloseWindow()");
316 fDraw->Connect("Clicked()", "TAdvancedGraphicsDialog", this, "DoDraw()");
317
318 // Slots for the Scan method
319 fScanPar->Connect("Selected(Int_t)", "TAdvancedGraphicsDialog", this, "DoChangedScanPar(Int_t)");
320}
321
322////////////////////////////////////////////////////////////////////////////////
323/// Changes the Min and Max default values of the scan method,
324/// depending on the selected parameter.
325
327{
328 double val = fFitter->GetParameter( selected - kAGD_PARCOUNTER );
329 double err = fFitter->GetParError( selected - kAGD_PARCOUNTER );
330 fScanMin->SetNumber( val -2 * err );
331 fScanMax->SetNumber( val +2 * err );
332}
333
334////////////////////////////////////////////////////////////////////////////////
335/// Calls the corresponding method, depending on the selected tab.
336
338{
339 if ( fTab->GetCurrent() == 0 ) {
340 DrawContour();
341 } else if ( fTab->GetCurrent() == 1 ) {
342 DrawScan();
343 } else if ( fTab->GetCurrent() == 2 ) {
345 }
346}
347
348////////////////////////////////////////////////////////////////////////////////
349/// Generates all necessary data for the Contour method from its
350/// tab. Then it call Virtual Fitter to perform it.
351
353{
354 static TGraph * graph = 0;
355 std::string options;
356 if ( ! (fContourOver->GetState() == kButtonDown) ) {
357 if ( graph )
358 delete graph;
359 options = "ALF";
360 } else
361 options = "LF";
362 graph = new TGraph( static_cast<int>(fContourPoints->GetNumber()) );
365 if ( par1 == par2 ) {
366 Error("TAdvancedGraphicsDialog::DrawContour", "Parameters cannot be the same");
367 return;
368 }
369 // contour error is actually the desired confidence level
371 fFitter->Contour( par1, par2, graph, cl);
372 graph->SetFillColor( TColor::GetColor( fContourColor->GetColor() ) );
373 graph->GetXaxis()->SetTitle( fFitter->GetParName(par1) );
374 graph->GetYaxis()->SetTitle( fFitter->GetParName(par2) );
375 graph->Draw( options.c_str() );
376 gPad->Update();
377}
378
379////////////////////////////////////////////////////////////////////////////////
380/// Generates all necessary data for the Scan method from its
381/// tab. Then it call Virtual Fitter to perform it.
382
384{
385 static TGraph * graph = 0;
386 if ( graph )
387 delete graph;
388 graph = new TGraph( static_cast<int>(fScanPoints->GetNumber()) );
390 fFitter->Scan( par, graph,
392 fScanMax->GetNumber() );
393 graph->SetLineColor(kBlue);
394 graph->SetLineWidth(2);
395 graph->GetXaxis()->SetTitle(fFitter->GetParName(par) );
396 graph->GetYaxis()->SetTitle("FCN" );
397 graph->Draw("APL");
398 gPad->Update();
399}
400
401////////////////////////////////////////////////////////////////////////////////
402/// Generates all necessary data for the Scan method from its
403/// tab. Then it call Virtual Fitter to perform it.
404
406{
408 const ROOT::Fit::FitResult::IModelFunction* function = result.FittedFunction();
409 const ROOT::Fit::BinData* data = dynamic_cast<const ROOT::Fit::BinData*>(&(fFitter->GetFitData()));
410 if ( !data )
411 {
412 Error("DrawConfidenceLevels","Unbinned data set cannot draw confidence levels.");
413 return;
414 }
415
416 if ( !function )
417 {
418 Error("DrawConfidenceLevels","Fit Function does not exist!");
419 return;
420 }
421
422 std::vector<Double_t> ci(data->Size());
423 result.GetConfidenceIntervals(*data, &ci[0], fConfLevel->GetNumber());
424
425 if ( data->NDim() == 1 )
426 {
427 TGraphErrors* g = new TGraphErrors(ci.size());
428 for (unsigned int i = 0; i < ci.size(); ++i)
429 {
430 const Double_t *x = data->Coords(i);
431 const Double_t y = (*function)(x);
432 g->SetPoint(i, *x, y);
433 g->SetPointError(i, 0, ci[i]);
434 }
435 std::ostringstream os;
436 os << "Confidence Intervals with " << fConfLevel->GetNumber()
437 << " conf. band.";
438 g->SetTitle(os.str().c_str());
439 g->SetLineColor( TColor::GetColor( fConfColor->GetColor() ));
440 g->SetFillColor( TColor::GetColor( fConfColor->GetColor() ));
441 g->SetFillStyle(3001);
442 g->Draw("C3same");
443 } else if ( data->NDim() == 2 )
444 {
445 TGraph2DErrors* g = new TGraph2DErrors(ci.size());
446 for (unsigned int i = 0; i < ci.size(); ++i)
447 {
448 const Double_t *x = data->Coords(i);
449 const Double_t y = (*function)(x);
450 g->SetPoint(i, x[0], x[1], y);
451 g->SetPointError(i, 0, 0, ci[i]);
452 }
453 std::ostringstream os;
454 os << "Confidence Intervals with " << fConfLevel->GetNumber()
455 << " conf. band.";
456 g->SetTitle(os.str().c_str());
457 g->SetLineColor( TColor::GetColor( fConfColor->GetColor() ));
458 g->SetFillColor( TColor::GetColor( fConfColor->GetColor() ));
459 g->SetFillStyle(3001);
460 g->Draw("C3same");
461 }
462 gPad->Update();
463}
464
465////////////////////////////////////////////////////////////////////////////////
466/// Cleanup dialog.
467
469{
470 Cleanup();
471}
@ kVerticalFrame
Definition GuiTypes.h:381
int main()
Definition Prototype.cxx:12
#define g(i)
Definition RSha256.hxx:105
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
@ kBlue
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
Definition TError.cxx:185
@ kButtonDown
Definition TGButton.h:54
#define gClient
Definition TGClient.h:156
@ kMWMDecorResizeH
Definition TGFrame.h:65
@ kMWMFuncAll
Definition TGFrame.h:49
@ kMWMFuncResize
Definition TGFrame.h:50
@ kMWMDecorMaximize
Definition TGFrame.h:69
@ kMWMDecorMinimize
Definition TGFrame.h:68
@ kMWMDecorMenu
Definition TGFrame.h:67
@ kMWMDecorAll
Definition TGFrame.h:63
@ kMWMFuncMaximize
Definition TGFrame.h:53
@ kMWMInputModeless
Definition TGFrame.h:57
@ kMWMFuncMinimize
Definition TGFrame.h:52
@ kDeepCleanup
Definition TGFrame.h:42
@ kLHintsRight
Definition TGLayout.h:26
@ kLHintsExpandY
Definition TGLayout.h:31
@ kLHintsLeft
Definition TGLayout.h:24
@ kLHintsCenterY
Definition TGLayout.h:28
@ kLHintsNormal
Definition TGLayout.h:32
@ kLHintsBottom
Definition TGLayout.h:29
@ kLHintsTop
Definition TGLayout.h:27
@ kLHintsExpandX
Definition TGLayout.h:30
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void SetMWMHints
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t SetWMSizeHints
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
#define gPad
Class describing the binned data sets : vectors of x coordinates, y values and optionally error on y ...
Definition BinData.h:52
class containing the result of the fit and all the related information (fitted parameter values,...
Definition FitResult.h:47
TBackCompFitter * fFitter
Fitter.
~TAdvancedGraphicsDialog() override
Cleanup dialog.
TGVerticalFrame * fContourFrame
Contour Frame.
TGNumberEntry * fScanMax
Max Value for Contour.
void DoDraw()
Calls the corresponding method, depending on the selected tab.
void CreateScanFrame()
Create the frame that contains all the necessary information for the Scan method.
void CreateConfFrame()
Create the frame that contains all the necessary information for the Confidence Level method.
TGComboBox * fContourPar1
Parameter 1 for Contour.
TGComboBox * fScanPar
Parameter for Scan.
void ConnectSlots()
Connect the slots (buttons mainly + specific methods)
TGNumberEntry * fScanPoints
Number of points for the graph.
TGNumberEntry * fContourError
Error Level for Contour.
TGTextButton * fDraw
ok button
TGComboBox * fContourPar2
Parameter 2 for Contour.
TGVerticalFrame * fMainFrame
Main Vertical Frame.
TGColorSelect * fConfColor
Color for the graph.
TGVerticalFrame * fScanFrame
Scan Frame.
void CreateContourFrame()
Create the frame that contains all the necessary information for the Contour method.
void DrawContour()
Generates all necessary data for the Contour method from its tab.
TGNumberEntry * fConfLevel
Confidence Level.
TGTextButton * fClose
cancel button
TAdvancedGraphicsDialog(const TAdvancedGraphicsDialog &)
TGTab * fTab
Tab containing the available methods.
TGNumberEntry * fScanMin
Min Value for Contour.
TGVerticalFrame * fConfFrame
Confidence Intervals Frame.
void DoChangedScanPar(Int_t selected)
Changes the Min and Max default values of the scan method, depending on the selected parameter.
TGColorSelect * fContourColor
Color for the graph.
void DrawScan()
Generates all necessary data for the Scan method from its tab.
void DrawConfidenceLevels()
Generates all necessary data for the Scan method from its tab.
TGCheckButton * fContourOver
Superimpose the graphics.
TGNumberEntry * fContourPoints
Number of points for the graph.
Backward compatible implementation of TVirtualFitter.
const ROOT::Fit::FitResult & GetFitResult() const
Get reference to Fit Result object (NOTE: it will be invalid when class is deleted)
const char * GetParName(Int_t ipar) const override
Return name of parameter ipar.
Double_t GetParError(Int_t ipar) const override
Parameter error.
Int_t GetNumberTotalParameters() const override
Number of total parameters.
bool Contour(unsigned int ipar, unsigned int jpar, TGraph *gr, double confLevel=0.683)
Create a 2D contour around the minimum for the parameter ipar and jpar if a minimum does not exist or...
const ROOT::Fit::FitData & GetFitData() const
Get reference to Fit Data object (NOTE: it will be invalid when class is deleted)
bool Scan(unsigned int ipar, TGraph *gr, double xmin=0, double xmax=0)
Scan parameter ipar between value of xmin and xmax A graph must be given which will be on return fill...
Double_t GetParameter(Int_t ipar) const override
Parameter value.
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition TColor.cxx:2320
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
Definition TColor.cxx:1839
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition TGButton.cxx:445
virtual EButtonState GetState() const
Definition TGButton.h:112
Selects different options.
Definition TGButton.h:264
Like a checkbutton but instead of the check mark there is color area with a little down arrow.
Pixel_t GetColor() const
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition TGComboBox.h:47
virtual Int_t GetSelected() const
Definition TGComboBox.h:114
virtual void AddEntry(TGString *s, Int_t id)
Definition TGComboBox.h:86
virtual TGListBox * GetListBox() const
Definition TGComboBox.h:110
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
The base class for composite widgets (menu bars, list boxes, etc.).
Definition TGFrame.h:287
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1117
UInt_t GetDefaultWidth() const override
Definition TGFrame.h:312
virtual void Cleanup()
Cleanup and delete all objects contained in this composite frame.
Definition TGFrame.cxx:967
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1164
UInt_t GetDefaultHeight() const override
Definition TGFrame.h:314
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1072
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition TGFrame.cxx:605
virtual UInt_t GetDefaultWidth() const
Definition TGFrame.h:190
virtual UInt_t GetDefaultHeight() const
Definition TGFrame.h:191
void MapWindow() override
map window
Definition TGFrame.h:204
UInt_t GetWidth() const
Definition TGFrame.h:224
A composite frame that layout their children in horizontal way.
Definition TGFrame.h:385
This class handles GUI labels.
Definition TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
A listbox is a box, possibly with scrollbar, containing entries.
Definition TGListBox.h:221
void Resize(UInt_t w, UInt_t h) override
Resize the listbox widget.
void SetWMSize(UInt_t w, UInt_t h)
Give the window manager a window size hint.
Definition TGFrame.cxx:1893
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
Definition TGFrame.cxx:1788
TGNumberEntry is a number entry input widget with up/down buttons.
TGNumberEntryField * GetNumberEntry() const
Get the number entry field.
virtual Double_t GetNumber() const
virtual void SetNumber(Double_t val, Bool_t emit=kTRUE)
@ kNEAPositive
Positive number.
@ kNEANonNegative
Non-negative number.
@ kNEAAnyNumber
Attributes of number entry field.
@ kNESRealThree
Fixed fraction real, three digit.
@ kNESInteger
Style of number entry field.
@ kNESRealFour
Fixed fraction real, four digit.
@ kNESRealTwo
Fixed fraction real, two digit.
@ kNELNoLimits
Limit selection of number entry field.
@ kNELLimitMinMax
Both lower and upper limits.
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
Definition TGTab.h:46
Int_t GetCurrent() const
Definition TGTab.h:90
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition TGTab.cxx:376
Yield an action as soon as it is clicked.
Definition TGButton.h:142
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
Defines transient windows that typically are used for dialogs windows.
Definition TGFrame.h:498
virtual void CenterOnParent(Bool_t croot=kTRUE, EPlacement pos=kCenter)
Position transient frame centered relative to the parent frame.
Definition TGFrame.cxx:1957
A composite frame that layout their children in vertical way.
Definition TGFrame.h:374
virtual void Associate(const TGWindow *w)
Definition TGWidget.h:72
ROOT GUI Window base class.
Definition TGWindow.h:23
Graph 2D class with errors.
A TGraphErrors is a TGraph with error bars.
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
void MakeZombie()
Definition TObject.h:53
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Definition TQObject.cxx:869
Abstract Base Class for Fitting.
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Definition TMathBase.h:250
Definition graph.py:1