12 TCanvas *c1 =
new TCanvas(
"c1",
"Dictionary Architecture",20,10,750,930);
14 c1->Range(0,0,20.5,26);
17 TPaveLabel *title =
new TPaveLabel(4,24,16,25.5,c1->GetTitle());
18 title->SetFillColor(46);
21 TPavesText *dll =
new TPavesText(0.5,19,4.5,23,5,
"tr");
22 dll->SetFillColor(39);
23 dll->SetTextSize(0.023);
25 dll->AddText(
"Dynamically");
26 dll->AddText(
"Linked");
27 dll->AddText(
"Libraries");
29 TPaveLabel *dlltitle =
new TPaveLabel(1.5,22.6,3.5,23.3,
"DLLs");
30 dlltitle->SetFillColor(28);
33 TPavesText *cpp =
new TPavesText(5.5,19,9.5,23,5,
"tr");
34 cpp->SetTextSize(0.023);
36 cpp->AddText(
"Commented");
37 cpp->AddText(
"Header");
38 cpp->AddText(
"Files");
40 TPaveLabel *cpptitle =
new TPaveLabel(6.5,22.6,8.5,23.3,
"C++");
41 cpptitle->SetFillColor(28);
44 TPavesText *odl =
new TPavesText(10.5,19,14.5,23,5,
"tr");
45 odl->SetTextSize(0.023);
47 odl->AddText(
"Objects");
48 odl->AddText(
"Description");
49 odl->AddText(
"Files");
51 TPaveLabel *odltitle =
new TPaveLabel(11.5,22.6,13.5,23.3,
"ODL");
52 odltitle->SetFillColor(28);
55 TPavesText *idl =
new TPavesText(15.5,19,19.5,23,5,
"tr");
56 idl->SetTextSize(0.023);
58 idl->AddText(
"Interface");
59 idl->AddText(
"Definition");
60 idl->AddText(
"Language");
62 TPaveLabel *idltitle =
new TPaveLabel(16.5,22.6,18.5,23.3,
"IDL");
63 idltitle->SetFillColor(28);
66 TWbox *p1 =
new TWbox(7.8,10,13.2,17,11,12,1);
68 TText *pro1 =
new TText(10.5,15.8,
"Process 1");
69 pro1->SetTextAlign(21);
70 pro1->SetTextSize(0.03);
72 TPaveText *p1dict =
new TPaveText(8.8,13.8,12.2,15.6);
73 p1dict->SetTextSize(0.023);
74 p1dict->AddText(
"Dictionary");
75 p1dict->AddText(
"in memory");
77 TPavesText *p1object =
new TPavesText(8.6,10.6,12.1,13.0,5,
"tr");
78 p1object->SetTextSize(0.023);
79 p1object->AddText(
"Objects");
80 p1object->AddText(
"in memory");
82 TWbox *p2 =
new TWbox(15.5,10,20,17,11,12,1);
84 TText *pro2 =
new TText(17.75,15.8,
"Process 2");
85 pro2->SetTextAlign(21);
86 pro2->SetTextSize(0.03);
88 TPaveText *p2dict =
new TPaveText(16,13.8,19.5,15.6);
89 p2dict->SetTextSize(0.023);
90 p2dict->AddText(
"Dictionary");
91 p2dict->AddText(
"in memory");
93 TPavesText *p2object =
new TPavesText(16.25,10.6,19.25,13.0,5,
"tr");
94 p2object->SetTextSize(0.023);
95 p2object->AddText(
"Objects");
96 p2object->AddText(
"in memory");
98 TWbox *stub1 =
new TWbox(12.9,11.5,13.6,15.5,49,3,1);
100 TText *tstub1 =
new TText(13.25,13.5,
"Stub1");
101 tstub1->SetTextSize(0.025);
102 tstub1->SetTextAlign(22);
103 tstub1->SetTextAngle(90);
105 TWbox *stub2 =
new TWbox(15.1,11.5,15.8,15.5,49,3,1);
107 TText *tstub2 =
new TText(15.45,13.5,
"Stub2");
108 tstub2->SetTextSize(0.025);
109 tstub2->SetTextAlign(22);
110 tstub2->SetTextAngle(-90);
112 TArrow *ar1 =
new TArrow();
113 ar1->SetLineWidth(6);
114 ar1->SetLineColor(1);
115 ar1->SetFillStyle(1001);
116 ar1->SetFillColor(1);
117 ar1->DrawArrow(13.5,14,15,14,0.012,
"|>");
118 ar1->DrawArrow(15.1,13,13.51,13,0.012,
"|>");
120 TPaveText *cint =
new TPaveText(1.0,15.0,8.0,17.5);
121 cint->SetFillColor(39);
122 cint->SetBorderSize(1);
123 cint->SetTextSize(0.023);
124 cint->AddText(
"C++ Interpreter");
125 cint->AddText(
"and program builder");
127 TPaveText *command =
new TPaveText(2.5,13.4,8.0,14.5);
128 command->SetTextSize(0.023);
129 command->SetFillColor(39);
130 command->SetBorderSize(1);
131 command->AddText(
"Command Thread");
133 TPavesText *view =
new TPavesText(1.0,9.5,7.7,12.6,3,
"tr");
134 view->SetFillColor(39);
135 view->SetBorderSize(2);
136 view->SetTextSize(0.023);
137 view->AddText(
"Viewer Thread(s)");
138 view->AddText(
"Picking");
139 view->AddText(
"Context Menus");
140 view->AddText(
"Inspector/Browser");
143 TPavesText *web =
new TPavesText(0.5,5,6,8.5,5,
"tr");
144 web->SetTextSize(0.023);
146 web->AddText(
"generated");
147 web->AddText(
"automatically");
148 web->AddText(
"from dictionary");
149 web->AddText(
"and source files");
151 TPaveLabel *webtitle =
new TPaveLabel(1.5,8.1,5.0,8.8,
"HTML Files");
152 webtitle->SetFillColor(28);
155 TPavesText *printed =
new TPavesText(0.5,1.0,6,4,5,
"tr");
156 printed->SetTextSize(0.023);
157 printed->AddText(
" ");
158 printed->AddText(
"generated");
159 printed->AddText(
"automatically");
160 printed->AddText(
"from HTML files");
162 TPaveLabel *printedtitle =
new TPaveLabel(1.5,3.6,5.0,4.3,
"Printed Docs");
163 printedtitle->SetFillColor(28);
164 printedtitle->Draw();
166 TBox *box1 =
new TBox(0.2,9.2,14.25,17.8);
167 box1->SetFillStyle(0);
168 box1->SetLineStyle(2);
171 TBox *box2 =
new TBox(10.2,18.7,20.2,23.6);
172 box2->SetFillStyle(0);
173 box2->SetLineStyle(3);
176 ar1->DrawArrow(2.5,17.5,2.5,18.9,0.012,
"|>");
177 ar1->DrawArrow(5.5,9.2,5.5,8.7,0.012,
"|>");
178 ar1->DrawArrow(5.5,5,5.5,4.2,0.012,
"|>");
179 ar1->DrawArrow(8.5,9.2,8.5,8.2,0.012,
"|>");
180 ar1->DrawArrow(9.5,8.1,9.5,9.0,0.012,
"|>");
181 ar1->DrawArrow(6.5,19,6.5,17.6,0.012,
"|>");
182 ar1->DrawArrow(8.5,19,8.5,17.1,0.012,
"|>");
183 ar1->DrawArrow(11.5,19,11.5,17.1,0.012,
"|>");
186 TPaveLabel *ootitle =
new TPaveLabel(10.5,7.8,17,8.8,
"Objects Data Base");
187 ootitle->SetFillColor(28);
190 TPad *pio =
new TPad(
"pio",
"pio",0.37,0.02,0.95,0.31,49);
191 pio->Range(0,0,12,8);
194 TPavesText *raw =
new TPavesText(0.5,1,2.5,6,7,
"tr");
196 TPavesText *dst1 =
new TPavesText(4,1,5,3,7,
"tr");
198 TPavesText *dst2 =
new TPavesText(6,1,7,3,7,
"tr");
200 TPavesText *dst3 =
new TPavesText(4,4,5,6,7,
"tr");
202 TPavesText *dst4 =
new TPavesText(6,4,7,6,7,
"tr");
208 for (Int_t j=1;j<9;j++) {
209 Float_t y0 = ylow + (j-1)*0.7;
210 Float_t y1 = y0 + dy;
211 for (Int_t i=1;i<5;i++) {
212 Float_t x0 = xlow +(i-1)*0.6;
213 Float_t x1 = x0 + dx;
214 TPavesText *anal =
new TPavesText(x0,y0,x1,y1,7,
"tr");
218 TText *daq =
new TText();
219 daq->SetTextSize(0.07);
220 daq->SetTextAlign(22);
221 daq->DrawText(1.5,7.3,
"DAQ");
222 daq->DrawText(6,7.3,
"DST");
223 daq->DrawText(10.,7.3,
"Physics Analysis");
224 daq->DrawText(1.5,0.7,
"Events");
225 daq->DrawText(1.5,0.3,
"Containers");
226 daq->DrawText(6,0.7,
"Tracks/Hits");
227 daq->DrawText(6,0.3,
"Containers");
228 daq->DrawText(10.,0.7,
"Attributes");
229 daq->DrawText(10.,0.3,
"Containers");