-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy pathrootenv.C
146 lines (143 loc) · 4.06 KB
/
rootenv.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/// \file
/// \ingroup tutorial_legacy
/// Produce a picture of the ROOT environment.
///
/// \macro_image
/// \macro_code
///
/// \author Rene Brun
{
gROOT->Reset();
auto c1 = new TCanvas("c1","ROOT Environment Canvas",720,840);
c1->Range(0,-0.25,19,29);
TPaveLabel title(3,27.1,15,28.7,"ROOT Environment and Tools");
title.SetFillColor(42);
title.SetTextColor(5);
title.SetTextFont(62);
title.Draw();
//
TArrow ardash(2,15,2,3.5,0.015,"|>");
ardash.SetLineStyle(kDashed);
ardash.SetFillColor(1);
ardash.Draw();
TLine l1(2.5,4.5,15.5,4.5);
l1.Draw();
l1.DrawLine(4.5,15,4.5,11);
l1.DrawLine(13,10,13,15.5);
l1.DrawLine(14,10,13,10);
l1.DrawLine(14,15.5,13,15.5);
TArrow ar(9,23,9,21.6,0.015,"|>");
ar.SetFillColor(1);
//
TPavesText UserChtml(0.5,0.5,4.5,3,5,"tr");
UserChtml.AddText("Files with hyperlinks");
TText *t1=UserChtml.AddText("*User.C.html");
TText *t2=UserChtml.AddText("*User.mac.html");
t1->SetTextColor(4);
t2->SetTextColor(4);
UserChtml.Draw();
ar.DrawArrow(2.5,4.5,2.5,3.5,0.015,"|>");
//
TPavesText UserTree(7,0.5,11,3,5,"tr");
UserTree.AddText("Dictionary");
UserTree.AddText("Inheritance graphs");
TText *t3=UserTree.AddText("*User_Tree.ps");
t3->SetTextColor(4);
UserTree.Draw();
ar.DrawArrow(9,5.5,9,3.5,0.015,"|>");
//
TPavesText Userhtml(13.5,0.5,17.5,3,5,"tr");
Userhtml.AddText("Class Description");
Userhtml.AddText("with references");
TText *t4=Userhtml.AddText("*User.html");
t4->SetTextColor(4);
Userhtml.Draw();
ar.DrawArrow(15.5,4.5,15.5,3.5,0.015,"|>");
//
TPavesText Macros(0.5,8,3.5,11,5,"tr");
Macros.AddText("Macros");
Macros.AddText("Log files");
TText *t5=Macros.AddText("*User.mac");
TText *t5a=Macros.AddText("*User.log");
t5->SetTextColor(4);
t5a->SetTextColor(4);
Macros.Draw();
//
TPavesText UserC(1,15,5,18,5,"tr");
UserC.AddText("C++ application");
UserC.AddText("source code");
TText *t6=UserC.AddText("*User.C");
t6->SetTextColor(4);
UserC.Draw();
ar.DrawArrow(4.5,11,5.8,11,0.015,"|>");
//
TPavesText Userh(6,23,12,26,5,"tr");
Userh.AddText("C++ header files");
TText *t7=Userh.AddText("*User.h");
t7->SetTextColor(4);
Userh.SetFillColor(11);
Userh.Draw();
ar.DrawArrow(9,23,9,21.6,0.015,"|>");
//
TPavesText UserUI(6.5,14,11.5,17,5,"tr");
UserUI.AddText("C++ code for");
UserUI.AddText("User Interface and I/O");
TText *t8=UserUI.AddText("*UserUI.C");
t8->SetTextColor(4);
UserUI.Draw();
ar.DrawArrow(9,18.5,9,17.3,0.015,"|>");
ar.DrawArrow(9,14,9,12.6,0.015,"|>");
//
TPavesText Usersl(14,14,17.5,17,5,"tr");
Usersl.AddText("User");
Usersl.AddText("Libraries");
TText *t9=Usersl.AddText("*User.sl");
t9->SetTextColor(4);
Usersl.Draw();
ar.DrawArrow(13,11,12.1,11,0.015,"|>");
//
TPavesText Rootlib(14,8.5,17.5,11.5,5,"tr");
Rootlib.AddText("Root Library");
Rootlib.AddText("and Includes");
TText *t10=Rootlib.AddText("Root.sl");
TText *t11=Rootlib.AddText("Root/include");
t10->SetTextColor(4);
t11->SetTextColor(4);
Rootlib.Draw();
//
TEllipse dict(9,20,3,1.5);
dict.SetFillColor(43);
dict.SetFillStyle(1001);
dict.SetLineColor(1);
dict.SetLineWidth(3);
dict.Draw();
TText gen(9,20.7,"rootcint");
gen.SetTextAlign(22);
gen.SetTextSize(0.025);
gen.Draw();
gen.DrawText(9,19.5,"ROOT compiler");
ar.DrawArrow(9,18.5,9,17.3,0.015,"|>");
//
TEllipse compiler(9,11,3,1.5);
compiler.SetFillColor(43);
compiler.SetFillStyle(1001);
compiler.SetLineColor(1);
compiler.SetLineWidth(3);
compiler.Draw();
TText gen2(9,11.4,"C++ compiler");
gen2.SetTextAlign(22);
gen2.SetTextSize(0.025);
gen2.Draw();
gen2.DrawText(9,10.3,"and Linker");
ar.DrawArrow(9,9.5,9,8.2,0.015,"|>");
//
TPaveText exe(6,5.5,12,8);
exe.SetFillColor(41);
exe.AddText("ROOT-based Application");
exe.AddText("Interactive or Batch");
TText *t12=exe.AddText("User.exe");
t12->SetTextColor(2);
exe.Draw();
c1->Modified();
c1->Print("rootenv.ps");
}