fildir.C

Go to the documentation of this file.
00001 {
00002    //
00003    // This macro displays the ROOT Directory data structure
00004    //Author: Rene Brun
00005    
00006    gROOT->Reset();
00007    c1 = new TCanvas("c1","ROOT FilDir description",700,900);
00008    c1->Range(1,1,19,24.5);
00009    TPaveLabel title(4,23,16,24.2,"ROOT File/Directory/Key description");
00010    title.SetFillColor(16);
00011    title.Draw();
00012 
00013    Int_t keycolor = 42;
00014    Int_t dircolor = 21;
00015    Int_t objcolor = 46;
00016    TPaveText file(2,19,6,22);
00017    file.SetFillColor(39);
00018    file.Draw();
00019    file.SetTextSize(0.04);
00020    file.AddText("TFile");
00021    file.AddText("Header");
00022    TArrow arrow(6,20.5,17,20.5,0.02,"|>");
00023    arrow.SetFillStyle(1001);
00024    arrow.SetLineWidth(2);
00025    arrow.Draw();
00026    TPaveText free(8,20,11,21);
00027    free.SetFillColor(18);
00028    free.Draw();
00029    free.AddText("First:Last");
00030    TPaveText free2(12,20,15,21);
00031    free2.SetFillColor(18);
00032    free2.Draw();
00033    free2.AddText("First:Last");
00034    TText tfree(6.2,21.2,"fFree = TList of free blocks");
00035    tfree.SetTextSize(0.02);
00036    tfree.Draw();
00037    TText tkeys(5.2,18.2,"fKeys = TList of Keys");
00038    tkeys.SetTextSize(0.02);
00039    tkeys.Draw();
00040    TText tmemory(3.2,15.2,"fListHead = TList of Objects in memory");
00041    tmemory.SetTextSize(0.02);
00042    tmemory.Draw();
00043 
00044    arrow.DrawArrow(5,17,17,17,0.02,"|>");
00045    TLine line(5,19,5,17);
00046    line.SetLineWidth(2);
00047    line.Draw();
00048    TPaveText key0(7,16,10,18);
00049    key0.SetTextSize(0.04);
00050    key0.SetFillColor(keycolor);
00051    key0.AddText("Key 0");
00052    key0.Draw();
00053    TPaveText key1(12,16,15,18);
00054    key1.SetTextSize(0.04);
00055    key1.SetFillColor(keycolor);
00056    key1.AddText("Key 1");
00057    key1.Draw();
00058    line.DrawLine(3,19,3,14);
00059    line.DrawLine(3,14,18,14);
00060    TPaveText obj0(5,13,8,15);
00061    obj0.SetFillColor(objcolor);
00062    obj0.AddText("Object");
00063    obj0.Draw();
00064    TPaveText dir1(10,13,13,15);
00065    dir1.SetFillColor(dircolor);
00066    dir1.AddText("SubDir");
00067    dir1.Draw();
00068    TPaveText obj1(15,13,18,15);
00069    obj1.SetFillColor(objcolor);
00070    obj1.AddText("Object");
00071    obj1.Draw();
00072    arrow.DrawArrow(12,11,17,11,0.015,"|>");
00073    arrow.DrawArrow(11,9,17,9,0.015,"|>");
00074    line.DrawLine(12,13,12,11);
00075    line.DrawLine(11,13,11,9);
00076    TPaveText key2(14,10.5,16,11.5);
00077    key2.SetFillColor(keycolor);
00078    key2.AddText("Key 0");
00079    key2.Draw();
00080    TPaveText obj2(14,8.5,16,9.5);
00081    obj2.SetFillColor(objcolor);
00082    obj2.AddText("Object");
00083    obj2.Draw();
00084    TLine ldot(10,15,2,11);
00085    ldot.SetLineStyle(2);
00086    ldot.Draw();
00087    ldot.DrawLine(13,15,8,11);
00088    ldot.DrawLine(13,13,8,5);
00089    TPaveText dirdata(2,5,8,11);
00090    dirdata.SetTextAlign(12);
00091    dirdata.SetFillColor(dircolor);
00092    dirdata.Draw();
00093    dirdata.SetTextSize(0.015);
00094    dirdata.AddText("fModified: True if directory is modified");
00095    dirdata.AddText("fWritable: True if directory is writable");
00096    dirdata.AddText("fDatimeC: Creation Date/Time");
00097    dirdata.AddText("fDatimeM: Last mod Date/Time");
00098    dirdata.AddText("fNbytesKeys: Number of bytes of key");
00099    dirdata.AddText("fNbytesName : Header length up to title");
00100    dirdata.AddText("fSeekDir: Start of Directory on file");
00101    dirdata.AddText("fSeekParent: Start of Parent Directory");
00102    dirdata.AddText("fSeekKeys: Pointer to Keys record");
00103    TPaveText keydata(10,2,17,7);
00104    keydata.SetTextAlign(12);
00105    keydata.SetFillColor(keycolor);
00106    keydata.Draw();
00107    ldot.DrawLine(14,11.5,10,7);
00108    ldot.DrawLine(16,11.5,17,7);
00109    keydata.SetTextSize(0.015);
00110    keydata.AddText("fNbytes: Size of compressed Object");
00111    keydata.AddText("fObjLen: Size of uncompressed Object");
00112    keydata.AddText("fDatime: Date/Time when written to store");
00113    keydata.AddText("fKeylen: Number of bytes for the key");
00114    keydata.AddText("fCycle : Cycle number");
00115    keydata.AddText("fSeekKey: Pointer to Object on file");
00116    keydata.AddText("fSeekPdir: Pointer to directory on file");
00117    keydata.AddText("fClassName: 'TKey'");
00118    keydata.AddText("fName: Object name");
00119    keydata.AddText("fTitle: Object Title");
00120 }

Generated on Tue Jul 5 15:44:49 2011 for ROOT_528-00b_version by  doxygen 1.5.1