Logo ROOT   6.10/00
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces
fildir.py File Reference

Namespaces

 fildir
 

Detailed Description

This macro displays the ROOT Directory data structure.

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

Definition in file fildir.py.