{ "cells": [ { "cell_type": "markdown", "id": "c71835c5", "metadata": {}, "source": [ "# archi\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 Tuesday, May 19, 2026 at 08:36 PM." ] }, { "cell_type": "code", "execution_count": 1, "id": "48bff6d2", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:45.772518Z", "iopub.status.busy": "2026-05-19T20:36:45.772375Z", "iopub.status.idle": "2026-05-19T20:36:46.318157Z", "shell.execute_reply": "2026-05-19T20:36:46.317424Z" } }, "outputs": [], "source": [ "TCanvas *c1 = new TCanvas(\"c1\", \"Dictionary Architecture\", 20, 10, 750, 930);\n", "c1->SetBorderSize(0);\n", "c1->Range(0, 0, 20.5, 26);\n", "\n", "TPaveLabel *title = new TPaveLabel(4, 24, 16, 25.5, c1->GetTitle());\n", "title->SetFillColor(46);\n", "title->Draw();\n", "\n", "TPavesText *dll = new TPavesText(0.5, 19, 4.5, 23, 5, \"tr\");\n", "dll->SetFillColor(39);\n", "dll->SetTextSize(0.023);\n", "dll->AddText(\" \");\n", "dll->AddText(\"Dynamically\");\n", "dll->AddText(\"Linked\");\n", "dll->AddText(\"Libraries\");\n", "dll->Draw();\n", "TPaveLabel *dlltitle = new TPaveLabel(1.5, 22.6, 3.5, 23.3, \"DLLs\");\n", "dlltitle->SetFillColor(28);\n", "dlltitle->Draw();\n", "\n", "TPavesText *cpp = new TPavesText(5.5, 19, 9.5, 23, 5, \"tr\");\n", "cpp->SetTextSize(0.023);\n", "cpp->AddText(\" \");\n", "cpp->AddText(\"Commented\");\n", "cpp->AddText(\"Header\");\n", "cpp->AddText(\"Files\");\n", "cpp->Draw();\n", "TPaveLabel *cpptitle = new TPaveLabel(6.5, 22.6, 8.5, 23.3, \"C++\");\n", "cpptitle->SetFillColor(28);\n", "cpptitle->Draw();\n", "\n", "TPavesText *odl = new TPavesText(10.5, 19, 14.5, 23, 5, \"tr\");\n", "odl->SetTextSize(0.023);\n", "odl->AddText(\" \");\n", "odl->AddText(\"Objects\");\n", "odl->AddText(\"Description\");\n", "odl->AddText(\"Files\");\n", "odl->Draw();\n", "TPaveLabel *odltitle = new TPaveLabel(11.5, 22.6, 13.5, 23.3, \"ODL\");\n", "odltitle->SetFillColor(28);\n", "odltitle->Draw();\n", "\n", "TPavesText *idl = new TPavesText(15.5, 19, 19.5, 23, 5, \"tr\");\n", "idl->SetTextSize(0.023);\n", "idl->AddText(\" \");\n", "idl->AddText(\"Interface\");\n", "idl->AddText(\"Definition\");\n", "idl->AddText(\"Language\");\n", "idl->Draw();\n", "TPaveLabel *idltitle = new TPaveLabel(16.5, 22.6, 18.5, 23.3, \"IDL\");\n", "idltitle->SetFillColor(28);\n", "idltitle->Draw();\n", "\n", "TWbox *p1 = new TWbox(7.8, 10, 13.2, 17, 11, 12, 1);\n", "p1->Draw();\n", "TText *pro1 = new TText(10.5, 15.8, \"Process 1\");\n", "pro1->SetTextAlign(21);\n", "pro1->SetTextSize(0.03);\n", "pro1->Draw();\n", "TPaveText *p1dict = new TPaveText(8.8, 13.8, 12.2, 15.6);\n", "p1dict->SetTextSize(0.023);\n", "p1dict->AddText(\"Dictionary\");\n", "p1dict->AddText(\"in memory\");\n", "p1dict->Draw();\n", "TPavesText *p1object = new TPavesText(8.6, 10.6, 12.1, 13.0, 5, \"tr\");\n", "p1object->SetTextSize(0.023);\n", "p1object->AddText(\"Objects\");\n", "p1object->AddText(\"in memory\");\n", "p1object->Draw();\n", "TWbox *p2 = new TWbox(15.5, 10, 20, 17, 11, 12, 1);\n", "p2->Draw();\n", "TText *pro2 = new TText(17.75, 15.8, \"Process 2\");\n", "pro2->SetTextAlign(21);\n", "pro2->SetTextSize(0.03);\n", "pro2->Draw();\n", "TPaveText *p2dict = new TPaveText(16, 13.8, 19.5, 15.6);\n", "p2dict->SetTextSize(0.023);\n", "p2dict->AddText(\"Dictionary\");\n", "p2dict->AddText(\"in memory\");\n", "p2dict->Draw();\n", "TPavesText *p2object = new TPavesText(16.25, 10.6, 19.25, 13.0, 5, \"tr\");\n", "p2object->SetTextSize(0.023);\n", "p2object->AddText(\"Objects\");\n", "p2object->AddText(\"in memory\");\n", "p2object->Draw();\n", "TWbox *stub1 = new TWbox(12.9, 11.5, 13.6, 15.5, 49, 3, 1);\n", "stub1->Draw();\n", "TText *tstub1 = new TText(13.25, 13.5, \"Stub1\");\n", "tstub1->SetTextSize(0.025);\n", "tstub1->SetTextAlign(22);\n", "tstub1->SetTextAngle(90);\n", "tstub1->Draw();\n", "TWbox *stub2 = new TWbox(15.1, 11.5, 15.8, 15.5, 49, 3, 1);\n", "stub2->Draw();\n", "TText *tstub2 = new TText(15.45, 13.5, \"Stub2\");\n", "tstub2->SetTextSize(0.025);\n", "tstub2->SetTextAlign(22);\n", "tstub2->SetTextAngle(-90);\n", "tstub2->Draw();\n", "TArrow ar1;\n", "ar1.SetLineWidth(6);\n", "ar1.SetLineColor(1);\n", "ar1.SetFillStyle(1001);\n", "ar1.SetFillColor(1);\n", "ar1.DrawArrow(13.5, 14, 15, 14, 0.012, \"|>\");\n", "ar1.DrawArrow(15.1, 13, 13.51, 13, 0.012, \"|>\");\n", "\n", "TPaveText *cint = new TPaveText(1.0, 15.0, 8.0, 17.5);\n", "cint->SetFillColor(39);\n", "cint->SetBorderSize(1);\n", "cint->SetTextSize(0.023);\n", "cint->AddText(\"C++ Interpreter\");\n", "cint->AddText(\"and program builder\");\n", "cint->Draw();\n", "TPaveText *command = new TPaveText(2.5, 13.4, 8.0, 14.5);\n", "command->SetTextSize(0.023);\n", "command->SetFillColor(39);\n", "command->SetBorderSize(1);\n", "command->AddText(\"Command Thread\");\n", "command->Draw();\n", "TPavesText *view = new TPavesText(1.0, 9.5, 7.7, 12.6, 3, \"tr\");\n", "view->SetFillColor(39);\n", "view->SetBorderSize(2);\n", "view->SetTextSize(0.023);\n", "view->AddText(\"Viewer Thread(s)\");\n", "view->AddText(\"Picking\");\n", "view->AddText(\"Context Menus\");\n", "view->AddText(\"Inspector/Browser\");\n", "view->Draw();\n", "\n", "TPavesText *web = new TPavesText(0.5, 5, 6, 8.5, 5, \"tr\");\n", "web->SetTextSize(0.023);\n", "web->AddText(\" \");\n", "web->AddText(\"generated\");\n", "web->AddText(\"automatically\");\n", "web->AddText(\"from dictionary\");\n", "web->AddText(\"and source files\");\n", "web->Draw();\n", "TPaveLabel *webtitle = new TPaveLabel(1.5, 8.1, 5.0, 8.8, \"HTML Files\");\n", "webtitle->SetFillColor(28);\n", "webtitle->Draw();\n", "\n", "TPavesText *printed = new TPavesText(0.5, 1.0, 6, 4, 5, \"tr\");\n", "printed->SetTextSize(0.023);\n", "printed->AddText(\" \");\n", "printed->AddText(\"generated\");\n", "printed->AddText(\"automatically\");\n", "printed->AddText(\"from HTML files\");\n", "printed->Draw();\n", "TPaveLabel *printedtitle = new TPaveLabel(1.5, 3.6, 5.0, 4.3, \"Printed Docs\");\n", "printedtitle->SetFillColor(28);\n", "printedtitle->Draw();\n", "\n", "TBox *box1 = new TBox(0.2, 9.2, 14.25, 17.8);\n", "box1->SetFillStyle(0);\n", "box1->SetLineStyle(kDashed);\n", "box1->Draw();\n", "\n", "TBox *box2 = new TBox(10.2, 18.7, 20.2, 23.6);\n", "box2->SetFillStyle(0);\n", "box2->SetLineStyle(kDotted);\n", "box2->Draw();\n", "\n", "ar1.DrawArrow(2.5, 17.5, 2.5, 18.9, 0.012, \"|>\");\n", "ar1.DrawArrow(5.5, 9.2, 5.5, 8.7, 0.012, \"|>\");\n", "ar1.DrawArrow(5.5, 5, 5.5, 4.2, 0.012, \"|>\");\n", "ar1.DrawArrow(8.5, 9.2, 8.5, 8.2, 0.012, \"|>\");\n", "ar1.DrawArrow(9.5, 8.1, 9.5, 9.0, 0.012, \"|>\");\n", "ar1.DrawArrow(6.5, 19, 6.5, 17.6, 0.012, \"|>\");\n", "ar1.DrawArrow(8.5, 19, 8.5, 17.1, 0.012, \"|>\");\n", "ar1.DrawArrow(11.5, 19, 11.5, 17.1, 0.012, \"|>\");\n", "\n", "TPaveLabel *ootitle = new TPaveLabel(10.5, 7.8, 17, 8.8, \"Objects Data Base\");\n", "ootitle->SetFillColor(28);\n", "ootitle->Draw();\n", "\n", "TPad *pio = new TPad(\"pio\", \"pio\", 0.37, 0.02, 0.95, 0.31, 49);\n", "pio->Range(0, 0, 12, 8);\n", "pio->Draw();\n", "pio->cd();\n", "TPavesText *raw = new TPavesText(0.5, 1, 2.5, 6, 7, \"tr\");\n", "raw->Draw();\n", "TPavesText *dst1 = new TPavesText(4, 1, 5, 3, 7, \"tr\");\n", "dst1->Draw();\n", "TPavesText *dst2 = new TPavesText(6, 1, 7, 3, 7, \"tr\");\n", "dst2->Draw();\n", "TPavesText *dst3 = new TPavesText(4, 4, 5, 6, 7, \"tr\");\n", "dst3->Draw();\n", "TPavesText *dst4 = new TPavesText(6, 4, 7, 6, 7, \"tr\");\n", "dst4->Draw();\n", "Float_t xlow = 8.5;\n", "Float_t ylow = 1;\n", "Float_t dx = 0.5;\n", "Float_t dy = 0.5;\n", "for (Int_t j = 1; j < 9; j++) {\n", " Float_t y0 = ylow + (j - 1) * 0.7;\n", " Float_t y1 = y0 + dy;\n", " for (Int_t i = 1; i < 5; i++) {\n", " Float_t x0 = xlow + (i - 1) * 0.6;\n", " Float_t x1 = x0 + dx;\n", " TPavesText *anal = new TPavesText(x0, y0, x1, y1, 7, \"tr\");\n", " anal->Draw();\n", " }\n", "}" ] }, { "cell_type": "markdown", "id": "376dc4db", "metadata": {}, "source": [ "just temporary object, used for common attributes" ] }, { "cell_type": "code", "execution_count": 2, "id": "c9a5a84a", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:46.320246Z", "iopub.status.busy": "2026-05-19T20:36:46.320119Z", "iopub.status.idle": "2026-05-19T20:36:46.549081Z", "shell.execute_reply": "2026-05-19T20:36:46.548664Z" } }, "outputs": [], "source": [ "TText daq;\n", "daq.SetTextSize(0.07);\n", "daq.SetTextAlign(22);\n", "daq.DrawText(1.5, 7.3, \"DAQ\");\n", "daq.DrawText(6, 7.3, \"DST\");\n", "daq.DrawText(10., 7.3, \"Physics Analysis\");\n", "daq.DrawText(1.5, 0.7, \"Events\");\n", "daq.DrawText(1.5, 0.3, \"Containers\");\n", "daq.DrawText(6, 0.7, \"Tracks/Hits\");\n", "daq.DrawText(6, 0.3, \"Containers\");\n", "daq.DrawText(10., 0.7, \"Attributes\");\n", "daq.DrawText(10., 0.3, \"Containers\");\n", "\n", "c1->cd();" ] }, { "cell_type": "markdown", "id": "8735dcf4", "metadata": {}, "source": [ "Draw all canvases " ] }, { "cell_type": "code", "execution_count": 3, "id": "cefd8682", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:46.556738Z", "iopub.status.busy": "2026-05-19T20:36:46.556590Z", "iopub.status.idle": "2026-05-19T20:36:46.776341Z", "shell.execute_reply": "2026-05-19T20:36:46.775526Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\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 }