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