{
 "cells": [
  {
   "cell_type": "markdown",
   "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 Wednesday, March 03, 2021 at 09:43 AM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Welcome to JupyROOT 6.23/01\n"
     ]
    }
   ],
   "source": [
    "import ROOT\n",
    "\n",
    "c1 = ROOT.TCanvas( 'c1', 'Geometry Shapes', 200, 10, 700, 500 )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "delete previous geometry objects in case this script is reexecuted"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "if hasattr(ROOT, 'gGeometry') and ROOT.gGeometry:\n",
    "   ROOT.gGeometry.GetListOfNodes().Delete()\n",
    "   ROOT.gGeometry.GetListOfShapes().Delete()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Define some volumes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "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",
   "metadata": {},
   "source": [
    " Set shapes attributes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "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( ROOT.kRed )\n",
    "sphe1.SetLineColor( ROOT.kBlack )\n",
    "sphe2.SetLineColor( ROOT.kBlue )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Build the geometry hierarchy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "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",
   "metadata": {},
   "source": [
    "for memory management"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "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",
   "metadata": {},
   "source": [
    "Draw this geometry in the current canvas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "node1.cd()\n",
    "node1.Draw( 'gl' )\n",
    "c1.Update()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from ROOT import gROOT \n",
    "gROOT.GetListOfCanvases().Draw()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "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.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
