{
"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
}