Logo ROOT  
Reference Guide
fildir.py File Reference

Namespaces

namespace  fildir
 

Detailed Description

View in nbviewer Open in SWAN This macro displays the ROOT Directory data structure

from ROOT import TCanvas, TPaveLabel, TPaveText, TText, TArrow, TLine
from ROOT import gROOT
c1 = TCanvas( 'c1', 'ROOT FilDir description', 700, 900 )
c1.Range( 1, 1, 19, 24.5 )
title = TPaveLabel( 4, 23, 16, 24.2, 'ROOT File/Directory/Key description' )
title.SetFillColor( 16 )
title.Draw()
keycolor = 42
dircolor = 21
objcolor = 46
file = TPaveText( 2, 19, 6, 22 )
file.SetFillColor( 39 )
file.Draw()
file.SetTextSize( 0.04 )
file.AddText( 'TFile' )
file.AddText( 'Header' )
arrow = TArrow( 6, 20.5, 17, 20.5, 0.02, '|>' )
arrow.SetFillStyle( 1001 )
arrow.SetLineWidth( 2 )
arrow.Draw()
free = TPaveText( 8, 20, 11, 21 )
free.SetFillColor( 18 )
free.Draw()
free.AddText( 'First:Last' )
free2 = TPaveText( 12, 20, 15, 21 )
free2.SetFillColor( 18 )
free2.Draw()
free2.AddText( 'First:Last' )
tfree = TText( 6.2, 21.2, 'fFree = TList of free blocks' )
tfree.SetTextSize( 0.02 )
tfree.Draw()
tkeys = TText( 5.2, 18.2, 'fKeys = TList of Keys' )
tkeys.SetTextSize( 0.02 )
tkeys.Draw()
tmemory = TText( 3.2, 15.2, 'fListHead = TList of Objects in memory' )
tmemory.SetTextSize( 0.02 )
tmemory.Draw()
arrow.DrawArrow( 5, 17, 17, 17, 0.02, '|>' )
line = TLine( 5, 19, 5, 17 )
line.SetLineWidth( 2 )
line.Draw()
key0 = TPaveText( 7, 16, 10, 18 )
key0.SetTextSize( 0.04 )
key0.SetFillColor( keycolor )
key0.AddText( 'Key 0' )
key0.Draw()
key1 = TPaveText( 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 )
obj0 = TPaveText( 5, 13, 8, 15 )
obj0.SetFillColor( objcolor )
obj0.AddText( 'Object' )
obj0.Draw()
dir1 = TPaveText( 10, 13, 13, 15 )
dir1.SetFillColor( dircolor )
dir1.AddText( 'SubDir' )
dir1.Draw()
obj1 = TPaveText( 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 )
key2 = TPaveText( 14, 10.5, 16, 11.5 )
key2.SetFillColor( keycolor )
key2.AddText( 'Key 0' )
key2.Draw()
obj2 = TPaveText( 14, 8.5, 16, 9.5 )
obj2.SetFillColor( objcolor )
obj2.AddText( 'Object' )
obj2.Draw()
ldot = TLine( 10, 15, 2, 11 )
ldot.SetLineStyle( 2 )
ldot.Draw()
ldot.DrawLine( 13, 15, 8, 11 )
ldot.DrawLine( 13, 13, 8, 5 )
dirdata = TPaveText( 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' )
keydata = TPaveText( 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' )
c1.Update()
Draw all kinds of Arrows.
Definition: TArrow.h:29
The Canvas class.
Definition: TCanvas.h:23
Use the TLine constructor to create a simple line.
Definition: TLine.h:22
A Pave (see TPave) with a text centered in the Pave.
Definition: TPaveLabel.h:20
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
Base class for several text objects.
Definition: TText.h:22
Author
Wim Lavrijsen

Definition in file fildir.py.