From e6f07db78e23f84edf0d5861bec37b90a2022933 Mon Sep 17 00:00:00 2001
From: Markus Frank <Markus.Frank@cern.ch>
Date: Wed, 5 Dec 2018 18:26:03 +0100
Subject: [PATCH] Fix issue #465 and add example on how to do a volume scan.

---
 DDCore/src/Shapes.cpp                         |  7 +-
 examples/ClientTests/CMakeLists.txt           |  2 +-
 examples/ClientTests/compact/CheckShape.xml   |  3 +-
 .../compact/Check_Shape_PseudoTrap.xml        | 10 +--
 ...rapCMS.xml => Check_Shape_PseudoTrap2.xml} | 10 ++-
 examples/ClientTests/ref/Ref_PseudoTrap.txt   | 71 +++++++++++++-----
 examples/ClientTests/ref/Ref_PseudoTrap2.txt  | 74 +++++++++++++++++++
 7 files changed, 148 insertions(+), 29 deletions(-)
 rename examples/ClientTests/compact/{Check_Shape_PseudoTrapCMS.xml => Check_Shape_PseudoTrap2.xml} (73%)
 create mode 100644 examples/ClientTests/ref/Ref_PseudoTrap2.txt

diff --git a/DDCore/src/Shapes.cpp b/DDCore/src/Shapes.cpp
index f3ae09840..6e3faec28 100644
--- a/DDCore/src/Shapes.cpp
+++ b/DDCore/src/Shapes.cpp
@@ -651,6 +651,8 @@ void PseudoTrap::make(double x1, double x2, double y1, double y2, double z, doub
   double delta        = std::sqrt( r * r - x * x );
  
 #if 0
+  // Implementation from : (Crappy)
+  // https://cmssdt.cern.ch/lxr/source/SimG4Core/Geometry/src/DDG4SolidConverter.cc#0362
   if( r < 0 && std::abs(r) >= x )  {
     intersec = true;       // intersection solid
     h = y1 < y2 ? y2 : y1; // tubs half height
@@ -680,7 +682,10 @@ void PseudoTrap::make(double x1, double x2, double y1, double y2, double z, doub
   else  {
     except("PseudoTrap","Check parameters of the PseudoTrap!");   
   }
-#endif 
+#endif
+
+  // Implementation from :
+  // https://cmssdt.cern.ch/lxr/source/Fireworks/Geometry/src/TGeoMgrFromDdd.cc#0538
   if( r < 0 && std::abs(r) >= x )  {
     intersec = true;       // intersection solid
     h = y1 < y2 ? y2 : y1; // tubs half height
diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt
index aa66ae54e..bbaa48eb4 100644
--- a/examples/ClientTests/CMakeLists.txt
+++ b/examples/ClientTests/CMakeLists.txt
@@ -173,7 +173,7 @@ dd4hep_add_test_reg( ClientTests_Save_ROOT_MiniTel_LONGTEST
 #  Test basic shapes by comparing mesh vertices with reference file
 foreach (test Box Cone ConeSegment Tube ElTube
     CutTube Hyperboloid Paraboloid
-    Polycone PseudoTrap Sphere Torus
+    Polycone PseudoTrap PseudoTrap2 Sphere Torus
     Trap Trd1 Trd2 TruncatedTube ExtrudedPolygon)
   dd4hep_add_test_reg( ClientTests_Check_Shape_${test}
       COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh"
diff --git a/examples/ClientTests/compact/CheckShape.xml b/examples/ClientTests/compact/CheckShape.xml
index 769b94322..f1cd7de9c 100644
--- a/examples/ClientTests/compact/CheckShape.xml
+++ b/examples/ClientTests/compact/CheckShape.xml
@@ -43,7 +43,7 @@
     <constant name="world_x" value="world_side"/>
     <constant name="world_y" value="world_side"/>
     <constant name="world_z" value="world_side"/>
-    <constant name="CheckShape_create" value="0"/>
+    <constant name="CheckShape_create" value="1"/>
   </define>
 
   <display>
@@ -53,5 +53,6 @@
     <vis name="Shape1_vis"    alpha="1.0" r="1" g="0" b="0" showDaughters="true" visible="true"/>
     <vis name="Shape2_vis"    alpha="1.0" r="0" g="1" b="0" showDaughters="true" visible="true"/>
     <vis name="Shape3_vis"    alpha="1.0" r="0" g="0" b="1" showDaughters="true" visible="true"/>
+    <vis name="Shape4_vis"    alpha="1.0" r="1" g="1" b="0" showDaughters="true" visible="true"/>
   </display>
 </lccdd>
diff --git a/examples/ClientTests/compact/Check_Shape_PseudoTrap.xml b/examples/ClientTests/compact/Check_Shape_PseudoTrap.xml
index d9038c978..e9e011f98 100644
--- a/examples/ClientTests/compact/Check_Shape_PseudoTrap.xml
+++ b/examples/ClientTests/compact/Check_Shape_PseudoTrap.xml
@@ -7,15 +7,15 @@
     <detector id="1" name="Shape_PseudoTrap" type="DD4hep_TestShape_Creator">
       <!-- Union pseudo-trap:          -->
       <check vis="Shape1_vis">
-        <shape type="PseudoTrap" z="30*cm" radius="10*cm"
-               x1="10*cm" x2="3*cm" y1="30*cm" y2="10*cm" minusZ="false"/>
+        <shape type="PseudoTrap" z="30*cm" radius="-40*cm"
+               x1="33*cm" x2="3*cm" y1="30*cm" y2="10*cm" minusZ="true"/>
         <position x="30*cm"  y="30*cm" z="50*cm"/>
         <rotation x="0"      y="0"     z="0"/>
       </check>
       <!-- Intersection pseudo-trap   -->
       <check vis="Shape2_vis">
-        <shape type="PseudoTrap" z="30*cm" radius="-10*cm"
-               x1="3*cm" x2="10*cm" y1="30*cm" y2="10*cm" minusZ="true"/>
+        <shape type="PseudoTrap" z="30*cm" radius="30*cm"
+               x1="3*cm" x2="30*cm" y1="30*cm" y2="10*cm" minusZ="false"/>
         <position x="30*cm"  y="30*cm" z="-50*cm"/>
         <rotation x="0"      y="0"     z="0"/>
       </check>
@@ -29,7 +29,7 @@
       </check>
       -->
 
-      <test11  type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_PseudoTrap.txt" create="CheckShape_create"/>
+      <test type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_PseudoTrap.txt" create="CheckShape_create"/>
     </detector>
   </detectors>
 </lccdd>
diff --git a/examples/ClientTests/compact/Check_Shape_PseudoTrapCMS.xml b/examples/ClientTests/compact/Check_Shape_PseudoTrap2.xml
similarity index 73%
rename from examples/ClientTests/compact/Check_Shape_PseudoTrapCMS.xml
rename to examples/ClientTests/compact/Check_Shape_PseudoTrap2.xml
index 3343f639e..dbe2fceca 100644
--- a/examples/ClientTests/compact/Check_Shape_PseudoTrapCMS.xml
+++ b/examples/ClientTests/compact/Check_Shape_PseudoTrap2.xml
@@ -30,9 +30,13 @@
         <position x="-300*cm"  y="-180*cm" z="0*cm"/>
         <rotation x="0"       y="pi/2"    z="pi"/>
       </check>
-      <comment>
-        <test  type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_PseudoTrap.txt" create="CheckShape_create"/>
-      </comment>
+      <check vis="Shape4_vis">
+        <shape type="PseudoTrap" name="YE1_CMS" 
+                x1="0.293734*m" x2="1.86356*m" y1="0.3000*m" y2="0.3000*m" z="2.92934*m" radius="-1.1350*m" minusZ="true"/>
+        <position x="0*cm"  y="330*cm" z="0*cm"/>
+        <rotation x="pi"     y="0"    z="0"/>
+      </check>
+      <test  type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_PseudoTrap2.txt" create="CheckShape_create"/>
     </detector>
   </detectors>
 </lccdd>
diff --git a/examples/ClientTests/ref/Ref_PseudoTrap.txt b/examples/ClientTests/ref/Ref_PseudoTrap.txt
index 3aa70cfc4..941eaf611 100644
--- a/examples/ClientTests/ref/Ref_PseudoTrap.txt
+++ b/examples/ClientTests/ref/Ref_PseudoTrap.txt
@@ -1,22 +1,57 @@
-ShapeCheck[0] TGeoCompositeShape 8 Mesh-points:
-TGeoCompositeShape PseudoTrap N(mesh)=8  N(vert)=8  N(seg)=0  N(pols)=0
-TGeoCompositeShape 0   Local  ( -10.00,  -30.00,  -30.00) Global (  20.00,    0.00,   20.00)
-TGeoCompositeShape 1   Local  ( -10.00,   30.00,  -30.00) Global (  20.00,   60.00,   20.00)
-TGeoCompositeShape 2   Local  (  10.00,   30.00,  -30.00) Global (  40.00,   60.00,   20.00)
-TGeoCompositeShape 3   Local  (  10.00,  -30.00,  -30.00) Global (  40.00,    0.00,   20.00)
-TGeoCompositeShape 4   Local  (  -3.00,  -10.00,   30.00) Global (  27.00,   20.00,   80.00)
-TGeoCompositeShape 5   Local  (  -3.00,   10.00,   30.00) Global (  27.00,   40.00,   80.00)
-TGeoCompositeShape 6   Local  (   3.00,   10.00,   30.00) Global (  33.00,   40.00,   80.00)
-TGeoCompositeShape 7   Local  (   3.00,  -10.00,   30.00) Global (  33.00,   20.00,   80.00)
-TGeoCompositeShape Bounding box:  dx=  10.00 dy=  30.00 dz=  30.00 Origin: x=   0.00 y=   0.00 z=   0.00
-ShapeCheck[1] TGeoCompositeShape 8 Mesh-points:
-TGeoCompositeShape PseudoTrap N(mesh)=8  N(vert)=8  N(seg)=0  N(pols)=0
+ShapeCheck[0] TGeoCompositeShape 6 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=6  N(vert)=6  N(seg)=0  N(pols)=0
+TGeoCompositeShape 0   Local  ( -33.00,   30.00,  -30.00) Global (  -3.00,   60.00,   20.00)
+TGeoCompositeShape 1   Local  (  33.00,   30.00,  -30.00) Global (  63.00,   60.00,   20.00)
+TGeoCompositeShape 2   Local  (  -3.00,  -10.00,   30.00) Global (  27.00,   20.00,   80.00)
+TGeoCompositeShape 3   Local  (  -3.00,   10.00,   30.00) Global (  27.00,   40.00,   80.00)
+TGeoCompositeShape 4   Local  (   3.00,   10.00,   30.00) Global (  33.00,   40.00,   80.00)
+TGeoCompositeShape 5   Local  (   3.00,  -10.00,   30.00) Global (  33.00,   20.00,   80.00)
+TGeoCompositeShape Bounding box:  dx=  33.00 dy=  30.00 dz=  30.00 Origin: x=   0.00 y=   0.00 z=   0.00
+ShapeCheck[1] TGeoCompositeShape 45 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=45  N(vert)=45  N(seg)=0  N(pols)=0
 TGeoCompositeShape 0   Local  (  -3.00,  -30.00,  -30.00) Global (  27.00,    0.00,  -80.00)
 TGeoCompositeShape 1   Local  (  -3.00,   30.00,  -30.00) Global (  27.00,   60.00,  -80.00)
 TGeoCompositeShape 2   Local  (   3.00,   30.00,  -30.00) Global (  33.00,   60.00,  -80.00)
 TGeoCompositeShape 3   Local  (   3.00,  -30.00,  -30.00) Global (  33.00,    0.00,  -80.00)
-TGeoCompositeShape 4   Local  ( -10.00,  -10.00,   30.00) Global (  20.00,   20.00,  -20.00)
-TGeoCompositeShape 5   Local  ( -10.00,   10.00,   30.00) Global (  20.00,   40.00,  -20.00)
-TGeoCompositeShape 6   Local  (  10.00,   10.00,   30.00) Global (  40.00,   40.00,  -20.00)
-TGeoCompositeShape 7   Local  (  10.00,  -10.00,   30.00) Global (  40.00,   20.00,  -20.00)
-TGeoCompositeShape Bounding box:  dx=  10.00 dy=  30.00 dz=  30.00 Origin: x=   0.00 y=   0.00 z=   0.00
+TGeoCompositeShape 4   Local  (  30.00,  -10.00,   30.00) Global (  60.00,   20.00,  -20.00)
+TGeoCompositeShape 5   Local  (  29.63,   10.00,   34.69) Global (  59.63,   40.00,  -15.31)
+TGeoCompositeShape 6   Local  (  28.53,   10.00,   39.27) Global (  58.53,   40.00,  -10.73)
+TGeoCompositeShape 7   Local  (  26.73,   10.00,   43.62) Global (  56.73,   40.00,   -6.38)
+TGeoCompositeShape 8   Local  (  24.27,   10.00,   47.63) Global (  54.27,   40.00,   -2.37)
+TGeoCompositeShape 9   Local  (  21.21,   10.00,   51.21) Global (  51.21,   40.00,    1.21)
+TGeoCompositeShape 10  Local  (  17.63,   10.00,   54.27) Global (  47.63,   40.00,    4.27)
+TGeoCompositeShape 11  Local  (  13.62,   10.00,   56.73) Global (  43.62,   40.00,    6.73)
+TGeoCompositeShape 12  Local  (   9.27,   10.00,   58.53) Global (  39.27,   40.00,    8.53)
+TGeoCompositeShape 13  Local  (   4.69,   10.00,   59.63) Global (  34.69,   40.00,    9.63)
+TGeoCompositeShape 14  Local  (   0.00,   10.00,   60.00) Global (  30.00,   40.00,   10.00)
+TGeoCompositeShape 15  Local  (  -4.69,   10.00,   59.63) Global (  25.31,   40.00,    9.63)
+TGeoCompositeShape 16  Local  (  -9.27,   10.00,   58.53) Global (  20.73,   40.00,    8.53)
+TGeoCompositeShape 17  Local  ( -13.62,   10.00,   56.73) Global (  16.38,   40.00,    6.73)
+TGeoCompositeShape 18  Local  ( -17.63,   10.00,   54.27) Global (  12.37,   40.00,    4.27)
+TGeoCompositeShape 19  Local  ( -21.21,   10.00,   51.21) Global (   8.79,   40.00,    1.21)
+TGeoCompositeShape 20  Local  ( -24.27,   10.00,   47.63) Global (   5.73,   40.00,   -2.37)
+TGeoCompositeShape 21  Local  ( -26.73,   10.00,   43.62) Global (   3.27,   40.00,   -6.38)
+TGeoCompositeShape 22  Local  ( -28.53,   10.00,   39.27) Global (   1.47,   40.00,  -10.73)
+TGeoCompositeShape 23  Local  ( -29.63,   10.00,   34.69) Global (   0.37,   40.00,  -15.31)
+TGeoCompositeShape 24  Local  ( -30.00,   10.00,   30.00) Global (   0.00,   40.00,  -20.00)
+TGeoCompositeShape 25  Local  (  29.63,  -10.00,   34.69) Global (  59.63,   20.00,  -15.31)
+TGeoCompositeShape 26  Local  (  28.53,  -10.00,   39.27) Global (  58.53,   20.00,  -10.73)
+TGeoCompositeShape 27  Local  (  26.73,  -10.00,   43.62) Global (  56.73,   20.00,   -6.38)
+TGeoCompositeShape 28  Local  (  24.27,  -10.00,   47.63) Global (  54.27,   20.00,   -2.37)
+TGeoCompositeShape 29  Local  (  21.21,  -10.00,   51.21) Global (  51.21,   20.00,    1.21)
+TGeoCompositeShape 30  Local  (  17.63,  -10.00,   54.27) Global (  47.63,   20.00,    4.27)
+TGeoCompositeShape 31  Local  (  13.62,  -10.00,   56.73) Global (  43.62,   20.00,    6.73)
+TGeoCompositeShape 32  Local  (   9.27,  -10.00,   58.53) Global (  39.27,   20.00,    8.53)
+TGeoCompositeShape 33  Local  (   4.69,  -10.00,   59.63) Global (  34.69,   20.00,    9.63)
+TGeoCompositeShape 34  Local  (   0.00,  -10.00,   60.00) Global (  30.00,   20.00,   10.00)
+TGeoCompositeShape 35  Local  (  -4.69,  -10.00,   59.63) Global (  25.31,   20.00,    9.63)
+TGeoCompositeShape 36  Local  (  -9.27,  -10.00,   58.53) Global (  20.73,   20.00,    8.53)
+TGeoCompositeShape 37  Local  ( -13.62,  -10.00,   56.73) Global (  16.38,   20.00,    6.73)
+TGeoCompositeShape 38  Local  ( -17.63,  -10.00,   54.27) Global (  12.37,   20.00,    4.27)
+TGeoCompositeShape 39  Local  ( -21.21,  -10.00,   51.21) Global (   8.79,   20.00,    1.21)
+TGeoCompositeShape 40  Local  ( -24.27,  -10.00,   47.63) Global (   5.73,   20.00,   -2.37)
+TGeoCompositeShape 41  Local  ( -26.73,  -10.00,   43.62) Global (   3.27,   20.00,   -6.38)
+TGeoCompositeShape 42  Local  ( -28.53,  -10.00,   39.27) Global (   1.47,   20.00,  -10.73)
+TGeoCompositeShape 43  Local  ( -29.63,  -10.00,   34.69) Global (   0.37,   20.00,  -15.31)
+TGeoCompositeShape 44  Local  ( -30.00,  -10.00,   30.00) Global (   0.00,   20.00,  -20.00)
+TGeoCompositeShape Bounding box:  dx=  30.00 dy=  30.00 dz=  45.00 Origin: x=   0.00 y=   0.00 z=  15.00
diff --git a/examples/ClientTests/ref/Ref_PseudoTrap2.txt b/examples/ClientTests/ref/Ref_PseudoTrap2.txt
new file mode 100644
index 000000000..6f7b78d63
--- /dev/null
+++ b/examples/ClientTests/ref/Ref_PseudoTrap2.txt
@@ -0,0 +1,74 @@
+ShapeCheck[0] TGeoCompositeShape 6 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=6  N(vert)=6  N(seg)=0  N(pols)=0
+TGeoCompositeShape 0   Local  (  50.00,   30.00,  -92.93) Global (  50.00,   30.00,  -92.93)
+TGeoCompositeShape 1   Local  (  50.00,  -30.00,  -92.93) Global (  50.00,  -30.00,  -92.93)
+TGeoCompositeShape 2   Local  (-186.36,  -30.00,   92.93) Global (-186.36,  -30.00,   92.93)
+TGeoCompositeShape 3   Local  (-186.36,   30.00,   92.93) Global (-186.36,   30.00,   92.93)
+TGeoCompositeShape 4   Local  ( 186.36,   30.00,   92.93) Global ( 186.36,   30.00,   92.93)
+TGeoCompositeShape 5   Local  ( 186.36,  -30.00,   92.93) Global ( 186.36,  -30.00,   92.93)
+TGeoCompositeShape Bounding box:  dx= 186.36 dy=  30.00 dz=  92.93 Origin: x=   0.00 y=   0.00 z=   0.00
+ShapeCheck[1] TGeoCompositeShape 4 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=4  N(vert)=4  N(seg)=0  N(pols)=0
+TGeoCompositeShape 0   Local  ( -29.37,  -30.00,  -92.93) Global ( 370.63,  272.93,  -30.00)
+TGeoCompositeShape 1   Local  ( -29.37,   30.00,  -92.93) Global ( 370.63,  272.93,   30.00)
+TGeoCompositeShape 2   Local  (  29.37,   30.00,  -92.93) Global ( 429.37,  272.93,   30.00)
+TGeoCompositeShape 3   Local  (  29.37,  -30.00,  -92.93) Global ( 429.37,  272.93,  -30.00)
+TGeoCompositeShape Bounding box:  dx=  86.36 dy=  90.00 dz=  92.93 Origin: x=   0.00 y=   0.00 z=   0.00
+ShapeCheck[2] TGeoCompositeShape 46 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=46  N(vert)=46  N(seg)=0  N(pols)=0
+TGeoCompositeShape 0   Local  ( -29.37,  -30.00,  -92.93) Global (-392.93, -150.00,  -29.37)
+TGeoCompositeShape 1   Local  ( -29.37,   30.00,  -92.93) Global (-392.93, -210.00,  -29.37)
+TGeoCompositeShape 2   Local  (  29.37,   30.00,  -92.93) Global (-392.93, -210.00,   29.37)
+TGeoCompositeShape 3   Local  (  29.37,  -30.00,  -92.93) Global (-392.93, -150.00,   29.37)
+TGeoCompositeShape 4   Local  ( -86.36,  -90.00,   92.93) Global (-207.07,  -90.00,  -86.36)
+TGeoCompositeShape 5   Local  ( -86.36,   90.00,   92.93) Global (-207.07, -270.00,  -86.36)
+TGeoCompositeShape 6   Local  (  86.36,   90.00,   92.93) Global (-207.07, -270.00,   86.36)
+TGeoCompositeShape 7   Local  (  86.36,  -90.00,   92.93) Global (-207.07,  -90.00,   86.36)
+TGeoCompositeShape 8   Local  (  79.67,   90.00,  100.12) Global (-199.88, -270.00,   79.67)
+TGeoCompositeShape 9   Local  (  72.40,   90.00,  106.69) Global (-193.31, -270.00,   72.40)
+TGeoCompositeShape 10  Local  (  64.58,   90.00,  112.62) Global (-187.38, -270.00,   64.58)
+TGeoCompositeShape 11  Local  (  56.27,   90.00,  117.85) Global (-182.15, -270.00,   56.27)
+TGeoCompositeShape 12  Local  (  47.55,   90.00,  122.34) Global (-177.66, -270.00,   47.55)
+TGeoCompositeShape 13  Local  (  38.48,   90.00,  126.06) Global (-173.94, -270.00,   38.48)
+TGeoCompositeShape 14  Local  (  29.11,   90.00,  128.98) Global (-171.02, -270.00,   29.11)
+TGeoCompositeShape 15  Local  (  19.53,   90.00,  131.09) Global (-168.91, -270.00,   19.53)
+TGeoCompositeShape 16  Local  (   9.80,   90.00,  132.36) Global (-167.64, -270.00,    9.80)
+TGeoCompositeShape 17  Local  (   0.00,   90.00,  132.78) Global (-167.22, -270.00,    0.00)
+TGeoCompositeShape 18  Local  (  -9.80,   90.00,  132.36) Global (-167.64, -270.00,   -9.80)
+TGeoCompositeShape 19  Local  ( -19.53,   90.00,  131.09) Global (-168.91, -270.00,  -19.53)
+TGeoCompositeShape 20  Local  ( -29.11,   90.00,  128.98) Global (-171.02, -270.00,  -29.11)
+TGeoCompositeShape 21  Local  ( -38.48,   90.00,  126.06) Global (-173.94, -270.00,  -38.48)
+TGeoCompositeShape 22  Local  ( -47.55,   90.00,  122.34) Global (-177.66, -270.00,  -47.55)
+TGeoCompositeShape 23  Local  ( -56.27,   90.00,  117.85) Global (-182.15, -270.00,  -56.27)
+TGeoCompositeShape 24  Local  ( -64.58,   90.00,  112.62) Global (-187.38, -270.00,  -64.58)
+TGeoCompositeShape 25  Local  ( -72.40,   90.00,  106.69) Global (-193.31, -270.00,  -72.40)
+TGeoCompositeShape 26  Local  ( -79.67,   90.00,  100.12) Global (-199.88, -270.00,  -79.67)
+TGeoCompositeShape 27  Local  (  79.67,  -90.00,  100.12) Global (-199.88,  -90.00,   79.67)
+TGeoCompositeShape 28  Local  (  72.40,  -90.00,  106.69) Global (-193.31,  -90.00,   72.40)
+TGeoCompositeShape 29  Local  (  64.58,  -90.00,  112.62) Global (-187.38,  -90.00,   64.58)
+TGeoCompositeShape 30  Local  (  56.27,  -90.00,  117.85) Global (-182.15,  -90.00,   56.27)
+TGeoCompositeShape 31  Local  (  47.55,  -90.00,  122.34) Global (-177.66,  -90.00,   47.55)
+TGeoCompositeShape 32  Local  (  38.48,  -90.00,  126.06) Global (-173.94,  -90.00,   38.48)
+TGeoCompositeShape 33  Local  (  29.11,  -90.00,  128.98) Global (-171.02,  -90.00,   29.11)
+TGeoCompositeShape 34  Local  (  19.53,  -90.00,  131.09) Global (-168.91,  -90.00,   19.53)
+TGeoCompositeShape 35  Local  (   9.80,  -90.00,  132.36) Global (-167.64,  -90.00,    9.80)
+TGeoCompositeShape 36  Local  (   0.00,  -90.00,  132.78) Global (-167.22,  -90.00,   -0.00)
+TGeoCompositeShape 37  Local  (  -9.80,  -90.00,  132.36) Global (-167.64,  -90.00,   -9.80)
+TGeoCompositeShape 38  Local  ( -19.53,  -90.00,  131.09) Global (-168.91,  -90.00,  -19.53)
+TGeoCompositeShape 39  Local  ( -29.11,  -90.00,  128.98) Global (-171.02,  -90.00,  -29.11)
+TGeoCompositeShape 40  Local  ( -38.48,  -90.00,  126.06) Global (-173.94,  -90.00,  -38.48)
+TGeoCompositeShape 41  Local  ( -47.55,  -90.00,  122.34) Global (-177.66,  -90.00,  -47.55)
+TGeoCompositeShape 42  Local  ( -56.27,  -90.00,  117.85) Global (-182.15,  -90.00,  -56.27)
+TGeoCompositeShape 43  Local  ( -64.58,  -90.00,  112.62) Global (-187.38,  -90.00,  -64.58)
+TGeoCompositeShape 44  Local  ( -72.40,  -90.00,  106.69) Global (-193.31,  -90.00,  -72.40)
+TGeoCompositeShape 45  Local  ( -79.67,  -90.00,  100.12) Global (-199.88,  -90.00,  -79.67)
+TGeoCompositeShape Bounding box:  dx=  86.36 dy=  90.00 dz= 112.86 Origin: x=   0.00 y=   0.00 z=  19.92
+ShapeCheck[3] TGeoCompositeShape 6 Mesh-points:
+TGeoCompositeShape PseudoTrap N(mesh)=6  N(vert)=6  N(seg)=0  N(pols)=0
+TGeoCompositeShape 0   Local  ( -29.37,  -30.00, -292.93) Global ( -29.37,  360.00,  292.93)
+TGeoCompositeShape 1   Local  ( -29.37,   30.00, -292.93) Global ( -29.37,  300.00,  292.93)
+TGeoCompositeShape 2   Local  (-186.36,  -30.00,  292.93) Global (-186.36,  360.00, -292.93)
+TGeoCompositeShape 3   Local  (-186.36,   30.00,  292.93) Global (-186.36,  300.00, -292.93)
+TGeoCompositeShape 4   Local  ( 186.36,   30.00,  292.93) Global ( 186.36,  300.00, -292.93)
+TGeoCompositeShape 5   Local  ( 186.36,  -30.00,  292.93) Global ( 186.36,  360.00, -292.93)
+TGeoCompositeShape Bounding box:  dx= 186.36 dy=  30.00 dz= 292.93 Origin: x=   0.00 y=   0.00 z=   0.00
-- 
GitLab