Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 TCanvas *c1 = new TCanvas("c1");
14 c1->Range(0,0,20,10);
15 TPaveLabel *pt1 = new TPaveLabel(0.2,4,3,6,"Eval");
16 pt1->SetTextSize(0.5);
17 pt1->SetFillColor(42);
18 pt1->Draw();
19 TPaveText *pt2 = new TPaveText(4.5,4,7.8,6);
20 pt2->Draw();
21 TText *t1 = pt2->AddText("Read Operator");
22 TText *t2 = pt2->AddText("number i");
23 TPaveText *pt3 = new TPaveText(9,3.5,17.5,6.5);
24 TText *t4 = pt3->AddText("Apply Operator to current stack values");
25 TText *t5 = pt3->AddText("Example: if operator +");
26 TText *t6 = pt3->AddText("value[i] += value[i-1]");
27 t4->SetTextAlign(22);
28 t5->SetTextAlign(22);
29 t6->SetTextAlign(22);
30 t5->SetTextColor(4);
31 t6->SetTextColor(2);
32 pt3->Draw();
33 TPaveLabel *pt4 = new TPaveLabel(4,0.5,12,2.5,"return result = value[i]");
34 pt4->Draw();
35 TArrow *ar1 = new TArrow(6,4,6,2.7,0.02,"|>");
36 ar1->Draw();
37 TText *t7 = new TText(6.56,2.7,"if i = number of stack elements");
38 t7->SetTextSize(0.04);
39 t7->Draw();
40 ar1->DrawArrow(6,8,6,6.2,0.02,"|>");
41 TLine *l1 = new TLine(12,6.6,12,8);
42 l1->Draw();
43 l1->DrawLine(12,8,6,8);
44 ar1->DrawArrow(3,5,4.4,5,0.02,"|>");
45 ar1->DrawArrow(7.8,5,8.9,5,0.02,"|>");
46}
47
Draw all kinds of Arrows.
Definition TArrow.h:29
The Canvas class.
Definition TCanvas.h:23
Use the TLine constructor to create a simple line.
Definition TLine.h:22
A Pave (see TPave) with a text centered in the Pave.
Definition TPaveLabel.h:20
A Pave (see TPave) with text, lines or/and boxes inside.
Definition TPaveText.h:21
Base class for several text objects.
Definition TText.h:22
return c1
Definition legend1.C:41
auto * t1
Definition textangle.C:20