{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b19e19dc",
   "metadata": {},
   "source": [
    "# shapes\n",
    " Draw the geometry using the x3d viewver.\n",
    " Note that this viewver may also be invoked from the \"View\" menu in\n",
    " the canvas tool bar\n",
    "\n",
    "once in x3d viewer, type m to see the menu.\n",
    "For example typing r will show a solid model of this geometry.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:** Wim Lavrijsen  \n",
    "<i><small>This notebook tutorial was automatically generated with <a href= \"https://github.com/root-project/root/blob/master/documentation/doxygen/converttonotebook.py\">ROOTBOOK-izer</a> from the macro found in the ROOT repository  on Tuesday, May 19, 2026 at 08:20 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a9ff7af6",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:23.710702Z",
     "iopub.status.busy": "2026-05-19T20:20:23.710569Z",
     "iopub.status.idle": "2026-05-19T20:20:24.712060Z",
     "shell.execute_reply": "2026-05-19T20:20:24.711641Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT\n",
    "\n",
    "c1 = ROOT.TCanvas( 'c1', 'Geometry Shapes', 200, 10, 700, 500 )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a1eb487",
   "metadata": {},
   "source": [
    "delete previous geometry objects in case this script is reexecuted"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "996466f4",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:24.713894Z",
     "iopub.status.busy": "2026-05-19T20:20:24.713757Z",
     "iopub.status.idle": "2026-05-19T20:20:24.826105Z",
     "shell.execute_reply": "2026-05-19T20:20:24.825639Z"
    }
   },
   "outputs": [],
   "source": [
    "if hasattr(ROOT, 'gGeometry') and ROOT.gGeometry:\n",
    "   ROOT.gGeometry.GetListOfNodes().Delete()\n",
    "   ROOT.gGeometry.GetListOfShapes().Delete()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1abb7ec7",
   "metadata": {},
   "source": [
    " Define some volumes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ff6185b6",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:24.827559Z",
     "iopub.status.busy": "2026-05-19T20:20:24.827439Z",
     "iopub.status.idle": "2026-05-19T20:20:24.986156Z",
     "shell.execute_reply": "2026-05-19T20:20:24.985642Z"
    }
   },
   "outputs": [],
   "source": [
    "brik = ROOT.TBRIK( 'BRIK', 'BRIK', 'void', 200, 150, 150 )\n",
    "trd1 = ROOT.TTRD1( 'TRD1', 'TRD1', 'void', 200, 50, 100, 100 )\n",
    "trd2 = ROOT.TTRD2( 'TRD2', 'TRD2', 'void', 200, 50, 200, 50, 100 )\n",
    "trap = ROOT.TTRAP( 'TRAP', 'TRAP', 'void', 190, 0, 0, 60, 40, 90, 15, 120, 80, 180, 15 )\n",
    "para = ROOT.TPARA( 'PARA', 'PARA', 'void', 100, 200, 200, 15, 30, 30 )\n",
    "gtra = ROOT.TGTRA( 'GTRA', 'GTRA', 'void', 390, 0, 0, 20, 60, 40, 90, 15, 120, 80, 180, 15 )\n",
    "tube = ROOT.TTUBE( 'TUBE', 'TUBE', 'void', 150, 200, 400 )\n",
    "tubs = ROOT.TTUBS( 'TUBS', 'TUBS', 'void', 80, 100, 100, 90, 235 )\n",
    "cone = ROOT.TCONE( 'CONE', 'CONE', 'void', 100, 50, 70, 120, 150 )\n",
    "cons = ROOT.TCONS( 'CONS', 'CONS', 'void', 50, 100, 100, 200, 300, 90, 270 )\n",
    "sphe  = ROOT.TSPHE( 'SPHE',  'SPHE',  'void', 25, 340, 45, 135,  0, 270 )\n",
    "sphe1 = ROOT.TSPHE( 'SPHE1', 'SPHE1', 'void',  0, 140,  0, 180,  0, 360 )\n",
    "sphe2 = ROOT.TSPHE( 'SPHE2', 'SPHE2', 'void',  0, 200, 10, 120, 45, 145 )\n",
    "\n",
    "pcon = ROOT.TPCON( 'PCON', 'PCON', 'void', 180, 270, 4 )\n",
    "pcon.DefineSection( 0, -200, 50, 100 )\n",
    "pcon.DefineSection( 1,  -50, 50,  80 )\n",
    "pcon.DefineSection( 2,   50, 50,  80 )\n",
    "pcon.DefineSection( 3,  200, 50, 100 )\n",
    "\n",
    "pgon = ROOT.TPGON( 'PGON', 'PGON', 'void', 180, 270, 8, 4 )\n",
    "pgon.DefineSection( 0, -200, 50, 100 )\n",
    "pgon.DefineSection( 1,  -50, 50,  80 )\n",
    "pgon.DefineSection( 2,   50, 50,  80 )\n",
    "pgon.DefineSection( 3,  200, 50, 100 )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa7775ba",
   "metadata": {},
   "source": [
    " Set shapes attributes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "36ea8916",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:24.987854Z",
     "iopub.status.busy": "2026-05-19T20:20:24.987735Z",
     "iopub.status.idle": "2026-05-19T20:20:25.100392Z",
     "shell.execute_reply": "2026-05-19T20:20:25.099940Z"
    }
   },
   "outputs": [],
   "source": [
    "brik.SetLineColor( 1 )\n",
    "trd1.SetLineColor( 2 )\n",
    "trd2.SetLineColor( 3 )\n",
    "trap.SetLineColor( 4 )\n",
    "para.SetLineColor( 5 )\n",
    "gtra.SetLineColor( 7 )\n",
    "tube.SetLineColor( 6 )\n",
    "tubs.SetLineColor( 7 )\n",
    "cone.SetLineColor( 2 )\n",
    "cons.SetLineColor( 3 )\n",
    "pcon.SetLineColor( 6 )\n",
    "pgon.SetLineColor( 2 )\n",
    "sphe.SetLineColor(\"kRed\")\n",
    "sphe1.SetLineColor(\"black\")\n",
    "sphe2.SetLineColor(\"kBlue\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b0ffab1",
   "metadata": {},
   "source": [
    " Build the geometry hierarchy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0fdd310d",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:25.101985Z",
     "iopub.status.busy": "2026-05-19T20:20:25.101868Z",
     "iopub.status.idle": "2026-05-19T20:20:25.218444Z",
     "shell.execute_reply": "2026-05-19T20:20:25.218009Z"
    }
   },
   "outputs": [],
   "source": [
    "node1 = ROOT.TNode( 'NODE1', 'NODE1', 'BRIK' )\n",
    "node1.cd()\n",
    "\n",
    "node2  = ROOT.TNode(  'NODE2',  'NODE2', 'TRD1',     0,     0, -1000 )\n",
    "node3  = ROOT.TNode(  'NODE3',  'NODE3', 'TRD2',     0,     0,  1000 )\n",
    "node4  = ROOT.TNode(  'NODE4',  'NODE4', 'TRAP',     0, -1000,     0 )\n",
    "node5  = ROOT.TNode(  'NODE5',  'NODE5', 'PARA',     0,  1000,     0 )\n",
    "node6  = ROOT.TNode(  'NODE6',  'NODE6', 'TUBE', -1000,     0,     0 )\n",
    "node7  = ROOT.TNode(  'NODE7',  'NODE7', 'TUBS',  1000,     0,     0 )\n",
    "node8  = ROOT.TNode(  'NODE8',  'NODE8', 'CONE',  -300,  -300,     0 )\n",
    "node9  = ROOT.TNode(  'NODE9',  'NODE9', 'CONS',   300,   300,     0 )\n",
    "node10 = ROOT.TNode( 'NODE10', 'NODE10', 'PCON',     0, -1000, -1000 )\n",
    "node11 = ROOT.TNode( 'NODE11', 'NODE11', 'PGON',     0,  1000,  1000 )\n",
    "node12 = ROOT.TNode( 'NODE12', 'NODE12', 'GTRA',     0,  -400,   700 )\n",
    "node13 = ROOT.TNode( 'NODE13', 'NODE13', 'SPHE',    10,  -400,   500 )\n",
    "node14 = ROOT.TNode( 'NODE14', 'NODE14', 'SPHE1',   10,   250,   300 )\n",
    "node15 = ROOT.TNode( 'NODE15', 'NODE15', 'SPHE2',   10,  -100,  -200 )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb384036",
   "metadata": {},
   "source": [
    "for memory management"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "0ae4d6fa",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:25.219997Z",
     "iopub.status.busy": "2026-05-19T20:20:25.219883Z",
     "iopub.status.idle": "2026-05-19T20:20:25.323380Z",
     "shell.execute_reply": "2026-05-19T20:20:25.322904Z"
    }
   },
   "outputs": [],
   "source": [
    "list_of_locals = dict(locals())\n",
    "for l, o in list_of_locals.items():\n",
    "   if isinstance( o, ROOT.TShape ) or isinstance( o, ROOT.TNode ):\n",
    "      ROOT.SetOwnership( o, False )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a066773",
   "metadata": {},
   "source": [
    "Draw this geometry in the current canvas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ee8fe03e",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:25.324843Z",
     "iopub.status.busy": "2026-05-19T20:20:25.324729Z",
     "iopub.status.idle": "2026-05-19T20:20:25.514291Z",
     "shell.execute_reply": "2026-05-19T20:20:25.513846Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222025504\" style=\"width: 700px; height: 500px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222025504() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(16360,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222025504', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779222025504();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "node1.cd()\n",
    "node1.Draw( 'gl' )\n",
    "c1.Update()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "df33e8a4",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "7aca5a14",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:20:25.515708Z",
     "iopub.status.busy": "2026-05-19T20:20:25.515505Z",
     "iopub.status.idle": "2026-05-19T20:20:25.628506Z",
     "shell.execute_reply": "2026-05-19T20:20:25.627940Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222025626\" style=\"width: 700px; height: 500px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222025626() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(16360,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222025626', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779222025626();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from ROOT import gROOT \n",
    "gROOT.GetListOfCanvases().Draw()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
