Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
eval.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_graphics
3/// \notebook -js
4/// This macro produces the flowchart of TFormula::Eval.
5///
6/// \macro_image
7/// \macro_code
8///
9/// \author Rene Brun
10
11void eval()
12{
13
14 TCanvas *c1 = new TCanvas("c1");
15 c1->Range(0, 0, 20, 10);
16 TPaveLabel *pt1 = new TPaveLabel(0.2, 4, 3, 6, "Eval");
17 pt1->SetTextSize(0.5);
18 pt1->SetFillColor(42);
19 pt1->Draw();
20 TPaveText *pt2 = new TPaveText(4.5, 4, 7.8, 6);
21 pt2->Draw();
22 TText *t1 = pt2->AddText("Read Operator");
23 TText *t2 = pt2->AddText("number i");
24 TPaveText *pt3 = new TPaveText(9, 3.5, 17.5, 6.5);
25 TText *t4 = pt3->AddText("Apply Operator to current stack values");
26 TText *t5 = pt3->AddText("Example: if operator +");
27 TText *t6 = pt3->AddText("value[i] += value[i-1]");
28 t4->SetTextAlign(22);
29 t5->SetTextAlign(22);
30 t6->SetTextAlign(22);
31 t5->SetTextColor(4);
32 t6->SetTextColor(2);
33 pt3->Draw();
34 TPaveLabel *pt4 = new TPaveLabel(4, 0.5, 12, 2.5, "return result = value[i]");
35 pt4->Draw();
36 TArrow *ar1 = new TArrow(6, 4, 6, 2.7, 0.02, "|>");
37 ar1->Draw();
38 TText *t7 = new TText(6.56, 2.7, "if i = number of stack elements");
39 t7->SetTextSize(0.04);
40 t7->Draw();
41 ar1->DrawArrow(6, 8, 6, 6.2, 0.02, "|>");
42 TLine *l1 = new TLine(12, 6.6, 12, 8);
43 l1->Draw();
44 l1->DrawLine(12, 8, 6, 8);
45 ar1->DrawArrow(3, 5, 4.4, 5, 0.02, "|>");
46 ar1->DrawArrow(7.8, 5, 8.9, 5, 0.02, "|>");
47}
Draw all kinds of Arrows.
Definition TArrow.h:29
virtual TArrow * DrawArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Float_t arrowsize=0, Option_t *option="")
Draw this arrow with new coordinates.
Definition TArrow.cxx:135
void Draw(Option_t *option="") override
Draw this arrow with its current attributes.
Definition TArrow.cxx:120
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:42
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition TAttText.h:44
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:47
The Canvas class.
Definition TCanvas.h:23
Use the TLine constructor to create a simple line.
Definition TLine.h:22
virtual TLine * DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this line with new coordinates.
Definition TLine.cxx:103
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition TObject.cxx:292
A Pave (see TPave) with a text centered in the Pave.
Definition TPaveLabel.h:20
void Draw(Option_t *option="") override
Draw this pavelabel with its current attributes.
A Pave (see TPave) with text, lines or/and boxes inside.
Definition TPaveText.h:21
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.
Base class for several text objects.
Definition TText.h:22
return c1
Definition legend1.C:41
auto * t1
Definition textangle.C:20