eval.C

Go to the documentation of this file.
00001 {
00002    //
00003    // This macro produces the flowchart of TFormula::Eval
00004    //Author: Rene Brun
00005    
00006    gROOT->Reset();
00007    c1 = new TCanvas("c1");
00008    c1->Range(0,0,20,10);
00009    TPaveLabel pt1(0.2,4,3,6,"Eval");
00010    pt1.SetTextSize(0.5);
00011    pt1.SetFillColor(42);
00012    pt1.Draw();
00013    TPaveText pt2(4.5,4,7.8,6);
00014    pt2.Draw();
00015    TText *t1=pt2.AddText("Read Operator");
00016    TText *t2=pt2.AddText("number i");
00017    TPaveText pt3(9,3.5,17.5,6.5);
00018    TText *t4=pt3.AddText("Apply Operator to current stack values");
00019    TText *t5=pt3.AddText("Example: if operator +");
00020    TText *t6=pt3.AddText("value[i] += value[i-1]");
00021    t4.SetTextAlign(22);
00022    t5.SetTextAlign(22);
00023    t6.SetTextAlign(22);
00024    t5.SetTextColor(4);
00025    t6.SetTextColor(2);
00026    pt3.Draw();
00027    TPaveLabel pt4(4,0.5,12,2.5,"return result = value[i]");
00028    pt4.Draw();
00029    TArrow ar1(6,4,6,2.7,0.02,"|>");
00030    ar1.Draw();
00031    TText t7(6.56,2.7,"if i = number of stack elements");
00032    t7.SetTextSize(0.04);
00033    t7.Draw();
00034    ar1.DrawArrow(6,8,6,6.2,0.02,"|>");
00035    TLine l1(12,6.6,12,8);
00036    l1.Draw();
00037    l1.DrawLine(12,8,6,8);
00038    ar1.DrawArrow(3,5,4.4,5,0.02,"|>");
00039    ar1.DrawArrow(7.8,5,8.9,5,0.02,"|>");
00040 }
00041 

Generated on Tue Jul 5 15:44:20 2011 for ROOT_528-00b_version by  doxygen 1.5.1