double32.C: Tutorial illustrating use and precision of the Double32_t data type | Input/Output | file.C: This macro displays the physical ROOT file structure |
{ // // This macro displays the ROOT Directory data structure //Author: Rene Brun gROOT->Reset(); c1 = new TCanvas("c1","ROOT FilDir description",700,900); c1->Range(1,1,19,24.5); TPaveLabel title(4,23,16,24.2,"ROOT File/Directory/Key description"); title.SetFillColor(16); title.Draw(); Int_t keycolor = 42; Int_t dircolor = 21; Int_t objcolor = 46; TPaveText file(2,19,6,22); file.SetFillColor(39); file.Draw(); file.SetTextSize(0.04); file.AddText("TFile"); file.AddText("Header"); TArrow arrow(6,20.5,17,20.5,0.02,"|>"); arrow.SetFillStyle(1001); arrow.SetLineWidth(2); arrow.Draw(); TPaveText free(8,20,11,21); free.SetFillColor(18); free.Draw(); free.AddText("First:Last"); TPaveText free2(12,20,15,21); free2.SetFillColor(18); free2.Draw(); free2.AddText("First:Last"); TText tfree(6.2,21.2,"fFree = TList of free blocks"); tfree.SetTextSize(0.02); tfree.Draw(); TText tkeys(5.2,18.2,"fKeys = TList of Keys"); tkeys.SetTextSize(0.02); tkeys.Draw(); TText tmemory(3.2,15.2,"fListHead = TList of Objects in memory"); tmemory.SetTextSize(0.02); tmemory.Draw(); arrow.DrawArrow(5,17,17,17,0.02,"|>"); TLine line(5,19,5,17); line.SetLineWidth(2); line.Draw(); TPaveText key0(7,16,10,18); key0.SetTextSize(0.04); key0.SetFillColor(keycolor); key0.AddText("Key 0"); key0.Draw(); TPaveText key1(12,16,15,18); key1.SetTextSize(0.04); key1.SetFillColor(keycolor); key1.AddText("Key 1"); key1.Draw(); line.DrawLine(3,19,3,14); line.DrawLine(3,14,18,14); TPaveText obj0(5,13,8,15); obj0.SetFillColor(objcolor); obj0.AddText("Object"); obj0.Draw(); TPaveText dir1(10,13,13,15); dir1.SetFillColor(dircolor); dir1.AddText("SubDir"); dir1.Draw(); TPaveText obj1(15,13,18,15); obj1.SetFillColor(objcolor); obj1.AddText("Object"); obj1.Draw(); arrow.DrawArrow(12,11,17,11,0.015,"|>"); arrow.DrawArrow(11,9,17,9,0.015,"|>"); line.DrawLine(12,13,12,11); line.DrawLine(11,13,11,9); TPaveText key2(14,10.5,16,11.5); key2.SetFillColor(keycolor); key2.AddText("Key 0"); key2.Draw(); TPaveText obj2(14,8.5,16,9.5); obj2.SetFillColor(objcolor); obj2.AddText("Object"); obj2.Draw(); TLine ldot(10,15,2,11); ldot.SetLineStyle(2); ldot.Draw(); ldot.DrawLine(13,15,8,11); ldot.DrawLine(13,13,8,5); TPaveText dirdata(2,5,8,11); dirdata.SetTextAlign(12); dirdata.SetFillColor(dircolor); dirdata.Draw(); dirdata.SetTextSize(0.015); dirdata.AddText("fModified: True if directory is modified"); dirdata.AddText("fWritable: True if directory is writable"); dirdata.AddText("fDatimeC: Creation Date/Time"); dirdata.AddText("fDatimeM: Last mod Date/Time"); dirdata.AddText("fNbytesKeys: Number of bytes of key"); dirdata.AddText("fNbytesName : Header length up to title"); dirdata.AddText("fSeekDir: Start of Directory on file"); dirdata.AddText("fSeekParent: Start of Parent Directory"); dirdata.AddText("fSeekKeys: Pointer to Keys record"); TPaveText keydata(10,2,17,7); keydata.SetTextAlign(12); keydata.SetFillColor(keycolor); keydata.Draw(); ldot.DrawLine(14,11.5,10,7); ldot.DrawLine(16,11.5,17,7); keydata.SetTextSize(0.015); keydata.AddText("fNbytes: Size of compressed Object"); keydata.AddText("fObjLen: Size of uncompressed Object"); keydata.AddText("fDatime: Date/Time when written to store"); keydata.AddText("fKeylen: Number of bytes for the key"); keydata.AddText("fCycle : Cycle number"); keydata.AddText("fSeekKey: Pointer to Object on file"); keydata.AddText("fSeekPdir: Pointer to directory on file"); keydata.AddText("fClassName: 'TKey'"); keydata.AddText("fName: Object name"); keydata.AddText("fTitle: Object Title"); } fildir.C:1 fildir.C:2 fildir.C:3 fildir.C:4 fildir.C:5 fildir.C:6 fildir.C:7 fildir.C:8 fildir.C:9 fildir.C:10 fildir.C:11 fildir.C:12 fildir.C:13 fildir.C:14 fildir.C:15 fildir.C:16 fildir.C:17 fildir.C:18 fildir.C:19 fildir.C:20 fildir.C:21 fildir.C:22 fildir.C:23 fildir.C:24 fildir.C:25 fildir.C:26 fildir.C:27 fildir.C:28 fildir.C:29 fildir.C:30 fildir.C:31 fildir.C:32 fildir.C:33 fildir.C:34 fildir.C:35 fildir.C:36 fildir.C:37 fildir.C:38 fildir.C:39 fildir.C:40 fildir.C:41 fildir.C:42 fildir.C:43 fildir.C:44 fildir.C:45 fildir.C:46 fildir.C:47 fildir.C:48 fildir.C:49 fildir.C:50 fildir.C:51 fildir.C:52 fildir.C:53 fildir.C:54 fildir.C:55 fildir.C:56 fildir.C:57 fildir.C:58 fildir.C:59 fildir.C:60 fildir.C:61 fildir.C:62 fildir.C:63 fildir.C:64 fildir.C:65 fildir.C:66 fildir.C:67 fildir.C:68 fildir.C:69 fildir.C:70 fildir.C:71 fildir.C:72 fildir.C:73 fildir.C:74 fildir.C:75 fildir.C:76 fildir.C:77 fildir.C:78 fildir.C:79 fildir.C:80 fildir.C:81 fildir.C:82 fildir.C:83 fildir.C:84 fildir.C:85 fildir.C:86 fildir.C:87 fildir.C:88 fildir.C:89 fildir.C:90 fildir.C:91 fildir.C:92 fildir.C:93 fildir.C:94 fildir.C:95 fildir.C:96 fildir.C:97 fildir.C:98 fildir.C:99 fildir.C:100 fildir.C:101 fildir.C:102 fildir.C:103 fildir.C:104 fildir.C:105 fildir.C:106 fildir.C:107 fildir.C:108 fildir.C:109 fildir.C:110 fildir.C:111 fildir.C:112 fildir.C:113 fildir.C:114 fildir.C:115 fildir.C:116 fildir.C:117 fildir.C:118 fildir.C:119 fildir.C:120 fildir.C:121 |
|