{ "cells": [ { "cell_type": "markdown", "id": "ddf781ca", "metadata": {}, "source": [ "# fildir\n", "This macro displays the ROOT Directory data structure\n", "\n", "\n", "\n", "\n", "**Author:** Rene Brun \n", "This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Monday, December 22, 2025 at 02:45 PM." ] }, { "cell_type": "code", "execution_count": 1, "id": "e69d9599", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2025-12-22T13:45:30.265626Z", "iopub.status.busy": "2025-12-22T13:45:30.265443Z", "iopub.status.idle": "2025-12-22T13:45:30.823409Z", "shell.execute_reply": "2025-12-22T13:45:30.822817Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Info in : png file fildir.png has been created\n" ] } ], "source": [ "TCanvas *c1 = new TCanvas(\"c1\",\"ROOT FilDir description\",700,900);\n", "c1->Range(1,1,19,24.5);\n", "TPaveLabel *title = new TPaveLabel(4,23,16,24.2,\"ROOT File/Directory/Key description\");\n", "title->SetFillColor(16);\n", "title->Draw();\n", "\n", "Int_t keycolor = 42;\n", "Int_t dircolor = 21;\n", "Int_t objcolor = 46;\n", "TPaveText *file = new TPaveText(2,19,6,22);\n", "file->SetFillColor(39);\n", "file->Draw();\n", "file->SetTextSize(0.04);\n", "file->AddText(\"TFile\");\n", "file->AddText(\"Header\");\n", "TArrow *arrow = new TArrow(6,20.5,17,20.5,0.02,\"|>\");\n", "arrow->SetFillStyle(1001);\n", "arrow->SetLineWidth(2);\n", "arrow->Draw();\n", "TPaveText *free1 = new TPaveText(8,20,11,21);\n", "free1->SetFillColor(18);\n", "free1->Draw();\n", "free1->AddText(\"First:Last\");\n", "TPaveText *free2 = new TPaveText(12,20,15,21);\n", "free2->SetFillColor(18);\n", "free2->Draw();\n", "free2->AddText(\"First:Last\");\n", "TText *tfree = new TText(6.2,21.2,\"fFree = TList of free blocks\");\n", "tfree->SetTextSize(0.02);\n", "tfree->Draw();\n", "TText *tkeys = new TText(5.2,18.2,\"fKeys = TList of Keys\");\n", "tkeys->SetTextSize(0.02);\n", "tkeys->Draw();\n", "TText *tmemory = new TText(3.2,15.2,\"fListHead = TList of Objects in memory\");\n", "tmemory->SetTextSize(0.02);\n", "tmemory->Draw();\n", "\n", "arrow->DrawArrow(5,17,17,17,0.02,\"|>\");\n", "TLine *line = new TLine(5,19,5,17);\n", "line->SetLineWidth(2);\n", "line->Draw();\n", "TPaveText *key0 = new TPaveText(7,16,10,18);\n", "key0->SetTextSize(0.04);\n", "key0->SetFillColor(keycolor);\n", "key0->AddText(\"Key 0\");\n", "key0->Draw();\n", "TPaveText *key1 = new TPaveText(12,16,15,18);\n", "key1->SetTextSize(0.04);\n", "key1->SetFillColor(keycolor);\n", "key1->AddText(\"Key 1\");\n", "key1->Draw();\n", "line->DrawLine(3,19,3,14);\n", "line->DrawLine(3,14,18,14);\n", "TPaveText *obj0 = new TPaveText(5,13,8,15);\n", "obj0->SetFillColor(objcolor);\n", "obj0->AddText(\"Object\");\n", "obj0->Draw();\n", "TPaveText *dir1 = new TPaveText(10,13,13,15);\n", "dir1->SetFillColor(dircolor);\n", "dir1->AddText(\"SubDir\");\n", "dir1->Draw();\n", "TPaveText *obj1 = new TPaveText(15,13,18,15);\n", "obj1->SetFillColor(objcolor);\n", "obj1->AddText(\"Object\");\n", "obj1->Draw();\n", "arrow->DrawArrow(12,11,17,11,0.015,\"|>\");\n", "arrow->DrawArrow(11,9,17,9,0.015,\"|>\");\n", "line->DrawLine(12,13,12,11);\n", "line->DrawLine(11,13,11,9);\n", "TPaveText *key2 = new TPaveText(14,10.5,16,11.5);\n", "key2->SetFillColor(keycolor);\n", "key2->AddText(\"Key 0\");\n", "key2->Draw();\n", "TPaveText *obj2 = new TPaveText(14,8.5,16,9.5);\n", "obj2->SetFillColor(objcolor);\n", "obj2->AddText(\"Object\");\n", "obj2->Draw();\n", "TLine *ldot = new TLine(10,15,2,11);\n", "ldot->SetLineStyle(kDashed);\n", "ldot->Draw();\n", "ldot->DrawLine(13,15,8,11);\n", "ldot->DrawLine(13,13,8,5);\n", "TPaveText *dirdata = new TPaveText(2,5,8,11);\n", "dirdata->SetTextAlign(12);\n", "dirdata->SetFillColor(dircolor);\n", "dirdata->Draw();\n", "dirdata->SetTextSize(0.015);\n", "dirdata->AddText(\"fModified: True if directory is modified\");\n", "dirdata->AddText(\"fWritable: True if directory is writable\");\n", "dirdata->AddText(\"fDatimeC: Creation Date/Time\");\n", "dirdata->AddText(\"fDatimeM: Last mod Date/Time\");\n", "dirdata->AddText(\"fNbytesKeys: Number of bytes of key\");\n", "dirdata->AddText(\"fNbytesName : Header length up to title\");\n", "dirdata->AddText(\"fSeekDir: Start of Directory on file\");\n", "dirdata->AddText(\"fSeekParent: Start of Parent Directory\");\n", "dirdata->AddText(\"fSeekKeys: Pointer to Keys record\");\n", "TPaveText *keydata = new TPaveText(10,2,17,7);\n", "keydata->SetTextAlign(12);\n", "keydata->SetFillColor(keycolor);\n", "keydata->Draw();\n", "ldot->DrawLine(14,11.5,10,7);\n", "ldot->DrawLine(16,11.5,17,7);\n", "keydata->SetTextSize(0.015);\n", "keydata->AddText(\"fNbytes: Size of compressed Object\");\n", "keydata->AddText(\"fObjLen: Size of uncompressed Object\");\n", "keydata->AddText(\"fDatime: Date/Time when written to store\");\n", "keydata->AddText(\"fKeylen: Number of bytes for the key\");\n", "keydata->AddText(\"fCycle : Cycle number\");\n", "keydata->AddText(\"fSeekKey: Pointer to Object on file\");\n", "keydata->AddText(\"fSeekPdir: Pointer to directory on file\");\n", "keydata->AddText(\"fClassName: 'TKey'\");\n", "keydata->AddText(\"fName: Object name\");\n", "keydata->AddText(\"fTitle: Object Title\");\n", "c1->Print(\"fildir.png\");" ] }, { "cell_type": "markdown", "id": "c11bd0fe", "metadata": {}, "source": [ "Draw all canvases " ] }, { "cell_type": "code", "execution_count": 2, "id": "6b094cf7", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2025-12-22T13:45:30.826757Z", "iopub.status.busy": "2025-12-22T13:45:30.826580Z", "iopub.status.idle": "2025-12-22T13:45:31.043538Z", "shell.execute_reply": "2025-12-22T13:45:31.037908Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gROOT->GetListOfCanvases()->Draw()" ] } ], "metadata": { "kernelspec": { "display_name": "ROOT C++", "language": "c++", "name": "root" }, "language_info": { "codemirror_mode": "text/x-c++src", "file_extension": ".C", "mimetype": " text/x-c++src", "name": "c++" } }, "nbformat": 4, "nbformat_minor": 5 }