From fd1f7c424a3bf549217ccd399f4bf6a58ef6b576 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Wed, 6 Jun 2018 21:45:23 +0200 Subject: [PATCH] Hopefully the last fix for truncated tubes. --- DDCore/src/Shapes.cpp | 74 +++-- examples/ClientTests/compact/CheckShape.xml | 2 +- .../compact/Check_Shape_TruncatedTube.xml | 36 ++- .../ClientTests/ref/Ref_TruncatedTube.txt | 303 +++++++++++++----- 4 files changed, 294 insertions(+), 121 deletions(-) diff --git a/DDCore/src/Shapes.cpp b/DDCore/src/Shapes.cpp index 709c55cc5..841eb97df 100644 --- a/DDCore/src/Shapes.cpp +++ b/DDCore/src/Shapes.cpp @@ -435,37 +435,61 @@ void TruncatedTube::make(double zhalf, double rmin, double rmax, double startPhi double r = cutAtStart; double R = cutAtDelta; - // exaggerate dimensions - does not matter, it's subtracted! - double boxX = 30.*rmax; - double boxY = 20.*rmax; - // width of the box > width of the tubs - double boxZ = 1.1 * zhalf; // angle of the box w.r.t. tubs double cath = r - R * std::cos( deltaPhi*units::deg ); - double hypo = std::sqrt( r * r + R * R - 2. * r * R * std::cos( deltaPhi*units::deg )); + double hypo = std::sqrt( r*r + R*R - 2.*r*R * std::cos( deltaPhi*units::deg )); double cos_alpha = cath / hypo; - double alpha = -std::acos( cos_alpha ); - - // rotationmatrix of box w.r.t. tubs - RotationZYX rot; - rot *= RotationX(M_PI/2.); - rot *= RotationZ(alpha); - - // center point of the box - double xBox; - if( !cutInside ) - xBox = r + boxX / std::sin( std::fabs( alpha )); + double alpha = std::acos( cos_alpha ); + double sin_alpha = std::sin( std::fabs(alpha) ); + + // exaggerate dimensions - does not matter, it's subtracted! + // If we don't, the **edge** of the box would cut into the tube segment + // for larger delta-phi values + double boxX = 1.1*rmax + rmax/sin_alpha; // Need to adjust for move! + double boxY = rmax; + // width of the box > width of the tubs + double boxZ = 1.1 * zhalf; + double xBox; // center point of the box + if( cutInside ) + xBox = r - boxY / sin_alpha; else - xBox = - (boxX / std::sin( std::fabs( alpha )) - r); + xBox = r + boxY / sin_alpha; + + // rotationmatrix of box w.r.t. tubs + TGeoRotation rot; + //rot.RotateX( 90.0 ); + rot.RotateZ( -alpha/dd4hep::deg ); + TGeoTranslation trans(xBox, 0., 0.); + TGeoBBox* box = new TGeoBBox(boxX, boxY, boxZ); + TGeoTubeSeg* tubs = new TGeoTubeSeg(rmin, rmax, zhalf, startPhi, deltaPhi); + TGeoSubtraction* sub = new TGeoSubtraction(tubs, box, nullptr, new TGeoCombiTrans(trans, rot)); + // For debugging: + // TGeoUnion* sub = new TGeoUnion(tubs, box, nullptr, new TGeoCombiTrans(trans, rot)); + _assign(new TGeoCompositeShape("", sub),"","trunctube",true); #if 0 - cout << "Box: " << boxX << " " << boxZ << " " << boxY << endl; - cout << "Tubs: " << rmin << " " << rmax << " " << zhalf << " " << startPhi << " " << deltaPhi << endl; - cout << "Pos: " << xBox << " " << 0 << " " << 0 << endl; + cout << "Trans:"; trans.Print(); cout << endl; + cout << "Rot: "; rot.Print(); cout << endl; + cout << " Zhalf: " << zhalf + << " rmin: " << rmin + << " rmax: " << rmax + << " r/cutAtStart: " << r + << " R/cutAtDelta: " << R + << " cutInside: " << (cutInside ? "YES" : "NO ") + << endl; + cout << " cath: " << cath + << " hypo: " << hypo + << " cos_alpha: " << cos_alpha + << " alpha: " << alpha + << " alpha(deg):" << alpha/dd4hep::deg + << endl; + cout << " Deg: " << dd4hep::deg + << " cm: " << dd4hep::cm + << " xBox: " << xBox + << endl; + cout << "Box:" << "x:" << box->GetDX() << " y:" << box->GetDY() << " z:" << box->GetDZ() << endl; + cout << "Tubs:" << " rmin:" << rmin << " rmax" << rmax << "zhalf" << zhalf + << " startPhi:" << startPhi << " deltaPhi:" << deltaPhi << endl; #endif - Box box(boxX, boxY, boxZ); - Tube tubs(rmin, rmax, zhalf, startPhi*units::deg, (startPhi+deltaPhi)*units::deg); - SubtractionSolid sub(tubs, box, Transform3D(rot,Position(xBox,0.,0.))); - _assign(sub.ptr(),"","trunctube",true); } /// Constructor to be used when creating a new object with attribute initialization diff --git a/examples/ClientTests/compact/CheckShape.xml b/examples/ClientTests/compact/CheckShape.xml index 9c24c6a1f..fb2557a34 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="1"/> + <constant name="CheckShape_create" value="0"/> </define> <display> diff --git a/examples/ClientTests/compact/Check_Shape_TruncatedTube.xml b/examples/ClientTests/compact/Check_Shape_TruncatedTube.xml index 3d4c217f7..bebd8d74f 100644 --- a/examples/ClientTests/compact/Check_Shape_TruncatedTube.xml +++ b/examples/ClientTests/compact/Check_Shape_TruncatedTube.xml @@ -7,26 +7,46 @@ <detector id="1" name="Shape_TruncatedTube" type="DD4hep_TestShape_Creator"> <!-- <TruncTubs name="trunctubs2" rMin="6.9551*m" rMax="9*m" cutAtStart="6.9551*m" cutAtDelta="7.20045*m" cutInside="true" startPhi="0*deg" deltaPhi="15*deg" zHalf="6.57005*m"/> ---> + <position z="-28.9*m" y="5.9*m" x="0."/> +--> +<!-- <check vis="Shape1_vis"> <shape type="TruncatedTube" zhalf="6.57005*m" rmin="6.9551*m" rmax="9*m" startphi="0*deg" deltaphi="15*deg" - cutAtStart="6.9551*m" cutAtDelta="7.20045*m" cutInside="1"/> - <position z="-28.9*m" y="5.9*m" x="0."/> + cutAtStart="6.9551*m" cutAtDelta="7.20045*m" cutInside="true"/> </check> - -<!-- +--> <check vis="Shape1_vis"> <shape type="TruncatedTube" zhalf="50*cm" rmin="20*cm" rmax="40*cm" - startphi="0*rad" deltaphi="pi/2.*rad" - cutAtStart="25*cm" cutAtDelta="35*cm" cutInside="1"/> + startphi="0*deg" deltaphi="90*deg" + cutAtStart="25*cm" cutAtDelta="35*cm" cutInside="true"/> + <position x="0*cm" y="0*cm" z="100*cm"/> </check> + <check vis="Shape1_vis"> + <shape type="TruncatedTube" zhalf="50*cm" rmin="20*cm" rmax="40*cm" + startphi="0*deg" deltaphi="90*deg" + cutAtStart="25*cm" cutAtDelta="35*cm" cutInside="false"/> + <position x="0*cm" y="0*cm" z="-100*cm"/> + </check> + <check vis="Shape2_vis"> + <shape type="TruncatedTube" zhalf="50*cm" rmin="20*cm" rmax="40*cm" + startphi="0*deg" deltaphi="45*deg" + cutAtStart="20*cm" cutAtDelta="30*cm" cutInside="true"/> + <position x="0*cm" y="150*cm" z="-100*cm"/> + </check> + <check vis="Shape3_vis"> + <shape type="TruncatedTube" zhalf="50*cm" rmin="20*cm" rmax="40*cm" + startphi="0*deg" deltaphi="150*deg" + cutAtStart="20*cm" cutAtDelta="35*cm" cutInside="true"/> + <position x="90*cm" y="150*cm" z="100*cm"/> + </check> +<!-- <check vis="Shape2_vis"> <shape type="TruncatedTube" zhalf="50*cm" rmin="20*cm" rmax="40*cm" startphi="0*rad" deltaphi="pi/2*rad" cutAtStart="25*cm" cutAtDelta="35*cm" cutInside="0"/> - <position x="30*cm" y="30*cm" z="-90*cm"/> + <position x="0*cm" y="90*cm" z="0*cm"/> <rotation x="0*cm" y="0*cm" z="0*cm"/> </check> --> diff --git a/examples/ClientTests/ref/Ref_TruncatedTube.txt b/examples/ClientTests/ref/Ref_TruncatedTube.txt index 412be0c6a..d55b01701 100644 --- a/examples/ClientTests/ref/Ref_TruncatedTube.txt +++ b/examples/ClientTests/ref/Ref_TruncatedTube.txt @@ -1,87 +1,216 @@ -ShapeCheck[0] TGeoCompositeShape 84 Mesh-points: -TGeoCompositeShape TruncatedTube N(mesh)=84 N(vert)=84 N(seg)=0 N(pols)=0 -TGeoCompositeShape 0 Local ( 695.51, 0.00, -657.00) Global ( 695.51, 0.00, -657.00) -TGeoCompositeShape 1 Local ( 695.45, 9.10, -657.00) Global ( 695.45, 9.10, -657.00) -TGeoCompositeShape 2 Local ( 695.27, 18.21, -657.00) Global ( 695.27, 18.21, -657.00) -TGeoCompositeShape 3 Local ( 694.97, 27.31, -657.00) Global ( 694.97, 27.31, -657.00) -TGeoCompositeShape 4 Local ( 694.56, 36.40, -657.00) Global ( 694.56, 36.40, -657.00) -TGeoCompositeShape 5 Local ( 694.02, 45.49, -657.00) Global ( 694.02, 45.49, -657.00) -TGeoCompositeShape 6 Local ( 693.37, 54.57, -657.00) Global ( 693.37, 54.57, -657.00) -TGeoCompositeShape 7 Local ( 692.59, 63.64, -657.00) Global ( 692.59, 63.64, -657.00) -TGeoCompositeShape 8 Local ( 691.70, 72.70, -657.00) Global ( 691.70, 72.70, -657.00) -TGeoCompositeShape 9 Local ( 690.69, 81.75, -657.00) Global ( 690.69, 81.75, -657.00) -TGeoCompositeShape 10 Local ( 689.56, 90.78, -657.00) Global ( 689.56, 90.78, -657.00) -TGeoCompositeShape 11 Local ( 688.31, 99.80, -657.00) Global ( 688.31, 99.80, -657.00) -TGeoCompositeShape 12 Local ( 686.95, 108.80, -657.00) Global ( 686.95, 108.80, -657.00) -TGeoCompositeShape 13 Local ( 685.46, 117.78, -657.00) Global ( 685.46, 117.78, -657.00) -TGeoCompositeShape 14 Local ( 683.86, 126.75, -657.00) Global ( 683.86, 126.75, -657.00) -TGeoCompositeShape 15 Local ( 682.15, 135.69, -657.00) Global ( 682.15, 135.69, -657.00) -TGeoCompositeShape 16 Local ( 680.31, 144.60, -657.00) Global ( 680.31, 144.60, -657.00) -TGeoCompositeShape 17 Local ( 678.36, 153.50, -657.00) Global ( 678.36, 153.50, -657.00) -TGeoCompositeShape 18 Local ( 676.29, 162.36, -657.00) Global ( 676.29, 162.36, -657.00) -TGeoCompositeShape 19 Local ( 674.11, 171.20, -657.00) Global ( 674.11, 171.20, -657.00) -TGeoCompositeShape 20 Local ( 671.81, 180.01, -657.00) Global ( 671.81, 180.01, -657.00) -TGeoCompositeShape 21 Local ( 900.00, 0.00, -657.00) Global ( 900.00, 0.00, -657.00) -TGeoCompositeShape 22 Local ( 899.92, 11.78, -657.00) Global ( 899.92, 11.78, -657.00) -TGeoCompositeShape 23 Local ( 899.69, 23.56, -657.00) Global ( 899.69, 23.56, -657.00) -TGeoCompositeShape 24 Local ( 899.31, 35.33, -657.00) Global ( 899.31, 35.33, -657.00) -TGeoCompositeShape 25 Local ( 898.77, 47.10, -657.00) Global ( 898.77, 47.10, -657.00) -TGeoCompositeShape 26 Local ( 898.07, 58.86, -657.00) Global ( 898.07, 58.86, -657.00) -TGeoCompositeShape 27 Local ( 897.23, 70.61, -657.00) Global ( 897.23, 70.61, -657.00) -TGeoCompositeShape 28 Local ( 896.22, 82.35, -657.00) Global ( 896.22, 82.35, -657.00) -TGeoCompositeShape 29 Local ( 895.07, 94.08, -657.00) Global ( 895.07, 94.08, -657.00) -TGeoCompositeShape 30 Local ( 893.76, 105.78, -657.00) Global ( 893.76, 105.78, -657.00) -TGeoCompositeShape 31 Local ( 892.30, 117.47, -657.00) Global ( 892.30, 117.47, -657.00) -TGeoCompositeShape 32 Local ( 890.69, 129.14, -657.00) Global ( 890.69, 129.14, -657.00) -TGeoCompositeShape 33 Local ( 888.92, 140.79, -657.00) Global ( 888.92, 140.79, -657.00) -TGeoCompositeShape 34 Local ( 887.00, 152.41, -657.00) Global ( 887.00, 152.41, -657.00) -TGeoCompositeShape 35 Local ( 884.93, 164.01, -657.00) Global ( 884.93, 164.01, -657.00) -TGeoCompositeShape 36 Local ( 882.71, 175.58, -657.00) Global ( 882.71, 175.58, -657.00) -TGeoCompositeShape 37 Local ( 880.33, 187.12, -657.00) Global ( 880.33, 187.12, -657.00) -TGeoCompositeShape 38 Local ( 877.81, 198.63, -657.00) Global ( 877.81, 198.63, -657.00) -TGeoCompositeShape 39 Local ( 875.13, 210.10, -657.00) Global ( 875.13, 210.10, -657.00) -TGeoCompositeShape 40 Local ( 872.31, 221.54, -657.00) Global ( 872.31, 221.54, -657.00) -TGeoCompositeShape 41 Local ( 869.33, 232.94, -657.00) Global ( 869.33, 232.94, -657.00) -TGeoCompositeShape 42 Local ( 695.51, 0.00, 657.00) Global ( 695.51, 0.00, 657.00) -TGeoCompositeShape 43 Local ( 695.45, 9.10, 657.00) Global ( 695.45, 9.10, 657.00) -TGeoCompositeShape 44 Local ( 695.27, 18.21, 657.00) Global ( 695.27, 18.21, 657.00) -TGeoCompositeShape 45 Local ( 694.97, 27.31, 657.00) Global ( 694.97, 27.31, 657.00) -TGeoCompositeShape 46 Local ( 694.56, 36.40, 657.00) Global ( 694.56, 36.40, 657.00) -TGeoCompositeShape 47 Local ( 694.02, 45.49, 657.00) Global ( 694.02, 45.49, 657.00) -TGeoCompositeShape 48 Local ( 693.37, 54.57, 657.00) Global ( 693.37, 54.57, 657.00) -TGeoCompositeShape 49 Local ( 692.59, 63.64, 657.00) Global ( 692.59, 63.64, 657.00) -TGeoCompositeShape 50 Local ( 691.70, 72.70, 657.00) Global ( 691.70, 72.70, 657.00) -TGeoCompositeShape 51 Local ( 690.69, 81.75, 657.00) Global ( 690.69, 81.75, 657.00) -TGeoCompositeShape 52 Local ( 689.56, 90.78, 657.00) Global ( 689.56, 90.78, 657.00) -TGeoCompositeShape 53 Local ( 688.31, 99.80, 657.00) Global ( 688.31, 99.80, 657.00) -TGeoCompositeShape 54 Local ( 686.95, 108.80, 657.00) Global ( 686.95, 108.80, 657.00) -TGeoCompositeShape 55 Local ( 685.46, 117.78, 657.00) Global ( 685.46, 117.78, 657.00) -TGeoCompositeShape 56 Local ( 683.86, 126.75, 657.00) Global ( 683.86, 126.75, 657.00) -TGeoCompositeShape 57 Local ( 682.15, 135.69, 657.00) Global ( 682.15, 135.69, 657.00) -TGeoCompositeShape 58 Local ( 680.31, 144.60, 657.00) Global ( 680.31, 144.60, 657.00) -TGeoCompositeShape 59 Local ( 678.36, 153.50, 657.00) Global ( 678.36, 153.50, 657.00) -TGeoCompositeShape 60 Local ( 676.29, 162.36, 657.00) Global ( 676.29, 162.36, 657.00) -TGeoCompositeShape 61 Local ( 674.11, 171.20, 657.00) Global ( 674.11, 171.20, 657.00) -TGeoCompositeShape 62 Local ( 671.81, 180.01, 657.00) Global ( 671.81, 180.01, 657.00) -TGeoCompositeShape 63 Local ( 900.00, 0.00, 657.00) Global ( 900.00, 0.00, 657.00) -TGeoCompositeShape 64 Local ( 899.92, 11.78, 657.00) Global ( 899.92, 11.78, 657.00) -TGeoCompositeShape 65 Local ( 899.69, 23.56, 657.00) Global ( 899.69, 23.56, 657.00) -TGeoCompositeShape 66 Local ( 899.31, 35.33, 657.00) Global ( 899.31, 35.33, 657.00) -TGeoCompositeShape 67 Local ( 898.77, 47.10, 657.00) Global ( 898.77, 47.10, 657.00) -TGeoCompositeShape 68 Local ( 898.07, 58.86, 657.00) Global ( 898.07, 58.86, 657.00) -TGeoCompositeShape 69 Local ( 897.23, 70.61, 657.00) Global ( 897.23, 70.61, 657.00) -TGeoCompositeShape 70 Local ( 896.22, 82.35, 657.00) Global ( 896.22, 82.35, 657.00) -TGeoCompositeShape 71 Local ( 895.07, 94.08, 657.00) Global ( 895.07, 94.08, 657.00) -TGeoCompositeShape 72 Local ( 893.76, 105.78, 657.00) Global ( 893.76, 105.78, 657.00) -TGeoCompositeShape 73 Local ( 892.30, 117.47, 657.00) Global ( 892.30, 117.47, 657.00) -TGeoCompositeShape 74 Local ( 890.69, 129.14, 657.00) Global ( 890.69, 129.14, 657.00) -TGeoCompositeShape 75 Local ( 888.92, 140.79, 657.00) Global ( 888.92, 140.79, 657.00) -TGeoCompositeShape 76 Local ( 887.00, 152.41, 657.00) Global ( 887.00, 152.41, 657.00) -TGeoCompositeShape 77 Local ( 884.93, 164.01, 657.00) Global ( 884.93, 164.01, 657.00) -TGeoCompositeShape 78 Local ( 882.71, 175.58, 657.00) Global ( 882.71, 175.58, 657.00) -TGeoCompositeShape 79 Local ( 880.33, 187.12, 657.00) Global ( 880.33, 187.12, 657.00) -TGeoCompositeShape 80 Local ( 877.81, 198.63, 657.00) Global ( 877.81, 198.63, 657.00) -TGeoCompositeShape 81 Local ( 875.13, 210.10, 657.00) Global ( 875.13, 210.10, 657.00) -TGeoCompositeShape 82 Local ( 872.31, 221.54, 657.00) Global ( 872.31, 221.54, 657.00) -TGeoCompositeShape 83 Local ( 869.33, 232.94, 657.00) Global ( 869.33, 232.94, 657.00) -TGeoCompositeShape Bounding box: dx= 114.09 dy= 116.47 dz= 657.00 Origin: x= 785.91 y= 116.47 z= 0.00 +ShapeCheck[0] TGeoCompositeShape 42 Mesh-points: +TGeoCompositeShape TruncatedTube N(mesh)=42 N(vert)=42 N(seg)=0 N(pols)=0 +TGeoCompositeShape 0 Local ( 40.00, 0.00, -50.00) Global ( 40.00, 0.00, 50.00) +TGeoCompositeShape 1 Local ( 39.88, 3.14, -50.00) Global ( 39.88, 3.14, 50.00) +TGeoCompositeShape 2 Local ( 39.51, 6.26, -50.00) Global ( 39.51, 6.26, 50.00) +TGeoCompositeShape 3 Local ( 38.89, 9.34, -50.00) Global ( 38.89, 9.34, 50.00) +TGeoCompositeShape 4 Local ( 38.04, 12.36, -50.00) Global ( 38.04, 12.36, 50.00) +TGeoCompositeShape 5 Local ( 36.96, 15.31, -50.00) Global ( 36.96, 15.31, 50.00) +TGeoCompositeShape 6 Local ( 35.64, 18.16, -50.00) Global ( 35.64, 18.16, 50.00) +TGeoCompositeShape 7 Local ( 34.11, 20.90, -50.00) Global ( 34.11, 20.90, 50.00) +TGeoCompositeShape 8 Local ( 32.36, 23.51, -50.00) Global ( 32.36, 23.51, 50.00) +TGeoCompositeShape 9 Local ( 30.42, 25.98, -50.00) Global ( 30.42, 25.98, 50.00) +TGeoCompositeShape 10 Local ( 28.28, 28.28, -50.00) Global ( 28.28, 28.28, 50.00) +TGeoCompositeShape 11 Local ( 25.98, 30.42, -50.00) Global ( 25.98, 30.42, 50.00) +TGeoCompositeShape 12 Local ( 23.51, 32.36, -50.00) Global ( 23.51, 32.36, 50.00) +TGeoCompositeShape 13 Local ( 20.90, 34.11, -50.00) Global ( 20.90, 34.11, 50.00) +TGeoCompositeShape 14 Local ( 18.16, 35.64, -50.00) Global ( 18.16, 35.64, 50.00) +TGeoCompositeShape 15 Local ( 15.31, 36.96, -50.00) Global ( 15.31, 36.96, 50.00) +TGeoCompositeShape 16 Local ( 12.36, 38.04, -50.00) Global ( 12.36, 38.04, 50.00) +TGeoCompositeShape 17 Local ( 9.34, 38.89, -50.00) Global ( 9.34, 38.89, 50.00) +TGeoCompositeShape 18 Local ( 6.26, 39.51, -50.00) Global ( 6.26, 39.51, 50.00) +TGeoCompositeShape 19 Local ( 3.14, 39.88, -50.00) Global ( 3.14, 39.88, 50.00) +TGeoCompositeShape 20 Local ( 0.00, 40.00, -50.00) Global ( 0.00, 40.00, 50.00) +TGeoCompositeShape 21 Local ( 40.00, 0.00, 50.00) Global ( 40.00, 0.00, 150.00) +TGeoCompositeShape 22 Local ( 39.88, 3.14, 50.00) Global ( 39.88, 3.14, 150.00) +TGeoCompositeShape 23 Local ( 39.51, 6.26, 50.00) Global ( 39.51, 6.26, 150.00) +TGeoCompositeShape 24 Local ( 38.89, 9.34, 50.00) Global ( 38.89, 9.34, 150.00) +TGeoCompositeShape 25 Local ( 38.04, 12.36, 50.00) Global ( 38.04, 12.36, 150.00) +TGeoCompositeShape 26 Local ( 36.96, 15.31, 50.00) Global ( 36.96, 15.31, 150.00) +TGeoCompositeShape 27 Local ( 35.64, 18.16, 50.00) Global ( 35.64, 18.16, 150.00) +TGeoCompositeShape 28 Local ( 34.11, 20.90, 50.00) Global ( 34.11, 20.90, 150.00) +TGeoCompositeShape 29 Local ( 32.36, 23.51, 50.00) Global ( 32.36, 23.51, 150.00) +TGeoCompositeShape 30 Local ( 30.42, 25.98, 50.00) Global ( 30.42, 25.98, 150.00) +TGeoCompositeShape 31 Local ( 28.28, 28.28, 50.00) Global ( 28.28, 28.28, 150.00) +TGeoCompositeShape 32 Local ( 25.98, 30.42, 50.00) Global ( 25.98, 30.42, 150.00) +TGeoCompositeShape 33 Local ( 23.51, 32.36, 50.00) Global ( 23.51, 32.36, 150.00) +TGeoCompositeShape 34 Local ( 20.90, 34.11, 50.00) Global ( 20.90, 34.11, 150.00) +TGeoCompositeShape 35 Local ( 18.16, 35.64, 50.00) Global ( 18.16, 35.64, 150.00) +TGeoCompositeShape 36 Local ( 15.31, 36.96, 50.00) Global ( 15.31, 36.96, 150.00) +TGeoCompositeShape 37 Local ( 12.36, 38.04, 50.00) Global ( 12.36, 38.04, 150.00) +TGeoCompositeShape 38 Local ( 9.34, 38.89, 50.00) Global ( 9.34, 38.89, 150.00) +TGeoCompositeShape 39 Local ( 6.26, 39.51, 50.00) Global ( 6.26, 39.51, 150.00) +TGeoCompositeShape 40 Local ( 3.14, 39.88, 50.00) Global ( 3.14, 39.88, 150.00) +TGeoCompositeShape 41 Local ( 0.00, 40.00, 50.00) Global ( 0.00, 40.00, 150.00) +TGeoCompositeShape Bounding box: dx= 20.00 dy= 20.00 dz= 50.00 Origin: x= 20.00 y= 20.00 z= 0.00 +ShapeCheck[1] TGeoCompositeShape 42 Mesh-points: +TGeoCompositeShape TruncatedTube N(mesh)=42 N(vert)=42 N(seg)=0 N(pols)=0 +TGeoCompositeShape 0 Local ( 20.00, 0.00, -50.00) Global ( 20.00, 0.00, -150.00) +TGeoCompositeShape 1 Local ( 19.94, 1.57, -50.00) Global ( 19.94, 1.57, -150.00) +TGeoCompositeShape 2 Local ( 19.75, 3.13, -50.00) Global ( 19.75, 3.13, -150.00) +TGeoCompositeShape 3 Local ( 19.45, 4.67, -50.00) Global ( 19.45, 4.67, -150.00) +TGeoCompositeShape 4 Local ( 19.02, 6.18, -50.00) Global ( 19.02, 6.18, -150.00) +TGeoCompositeShape 5 Local ( 18.48, 7.65, -50.00) Global ( 18.48, 7.65, -150.00) +TGeoCompositeShape 6 Local ( 17.82, 9.08, -50.00) Global ( 17.82, 9.08, -150.00) +TGeoCompositeShape 7 Local ( 17.05, 10.45, -50.00) Global ( 17.05, 10.45, -150.00) +TGeoCompositeShape 8 Local ( 16.18, 11.76, -50.00) Global ( 16.18, 11.76, -150.00) +TGeoCompositeShape 9 Local ( 15.21, 12.99, -50.00) Global ( 15.21, 12.99, -150.00) +TGeoCompositeShape 10 Local ( 14.14, 14.14, -50.00) Global ( 14.14, 14.14, -150.00) +TGeoCompositeShape 11 Local ( 12.99, 15.21, -50.00) Global ( 12.99, 15.21, -150.00) +TGeoCompositeShape 12 Local ( 11.76, 16.18, -50.00) Global ( 11.76, 16.18, -150.00) +TGeoCompositeShape 13 Local ( 10.45, 17.05, -50.00) Global ( 10.45, 17.05, -150.00) +TGeoCompositeShape 14 Local ( 9.08, 17.82, -50.00) Global ( 9.08, 17.82, -150.00) +TGeoCompositeShape 15 Local ( 7.65, 18.48, -50.00) Global ( 7.65, 18.48, -150.00) +TGeoCompositeShape 16 Local ( 6.18, 19.02, -50.00) Global ( 6.18, 19.02, -150.00) +TGeoCompositeShape 17 Local ( 4.67, 19.45, -50.00) Global ( 4.67, 19.45, -150.00) +TGeoCompositeShape 18 Local ( 3.13, 19.75, -50.00) Global ( 3.13, 19.75, -150.00) +TGeoCompositeShape 19 Local ( 1.57, 19.94, -50.00) Global ( 1.57, 19.94, -150.00) +TGeoCompositeShape 20 Local ( 0.00, 20.00, -50.00) Global ( 0.00, 20.00, -150.00) +TGeoCompositeShape 21 Local ( 20.00, 0.00, 50.00) Global ( 20.00, 0.00, -50.00) +TGeoCompositeShape 22 Local ( 19.94, 1.57, 50.00) Global ( 19.94, 1.57, -50.00) +TGeoCompositeShape 23 Local ( 19.75, 3.13, 50.00) Global ( 19.75, 3.13, -50.00) +TGeoCompositeShape 24 Local ( 19.45, 4.67, 50.00) Global ( 19.45, 4.67, -50.00) +TGeoCompositeShape 25 Local ( 19.02, 6.18, 50.00) Global ( 19.02, 6.18, -50.00) +TGeoCompositeShape 26 Local ( 18.48, 7.65, 50.00) Global ( 18.48, 7.65, -50.00) +TGeoCompositeShape 27 Local ( 17.82, 9.08, 50.00) Global ( 17.82, 9.08, -50.00) +TGeoCompositeShape 28 Local ( 17.05, 10.45, 50.00) Global ( 17.05, 10.45, -50.00) +TGeoCompositeShape 29 Local ( 16.18, 11.76, 50.00) Global ( 16.18, 11.76, -50.00) +TGeoCompositeShape 30 Local ( 15.21, 12.99, 50.00) Global ( 15.21, 12.99, -50.00) +TGeoCompositeShape 31 Local ( 14.14, 14.14, 50.00) Global ( 14.14, 14.14, -50.00) +TGeoCompositeShape 32 Local ( 12.99, 15.21, 50.00) Global ( 12.99, 15.21, -50.00) +TGeoCompositeShape 33 Local ( 11.76, 16.18, 50.00) Global ( 11.76, 16.18, -50.00) +TGeoCompositeShape 34 Local ( 10.45, 17.05, 50.00) Global ( 10.45, 17.05, -50.00) +TGeoCompositeShape 35 Local ( 9.08, 17.82, 50.00) Global ( 9.08, 17.82, -50.00) +TGeoCompositeShape 36 Local ( 7.65, 18.48, 50.00) Global ( 7.65, 18.48, -50.00) +TGeoCompositeShape 37 Local ( 6.18, 19.02, 50.00) Global ( 6.18, 19.02, -50.00) +TGeoCompositeShape 38 Local ( 4.67, 19.45, 50.00) Global ( 4.67, 19.45, -50.00) +TGeoCompositeShape 39 Local ( 3.13, 19.75, 50.00) Global ( 3.13, 19.75, -50.00) +TGeoCompositeShape 40 Local ( 1.57, 19.94, 50.00) Global ( 1.57, 19.94, -50.00) +TGeoCompositeShape 41 Local ( 0.00, 20.00, 50.00) Global ( 0.00, 20.00, -50.00) +TGeoCompositeShape Bounding box: dx= 20.00 dy= 20.00 dz= 50.00 Origin: x= 20.00 y= 20.00 z= 0.00 +ShapeCheck[2] TGeoCompositeShape 42 Mesh-points: +TGeoCompositeShape TruncatedTube N(mesh)=42 N(vert)=42 N(seg)=0 N(pols)=0 +TGeoCompositeShape 0 Local ( 40.00, 0.00, -50.00) Global ( 40.00, 150.00, -150.00) +TGeoCompositeShape 1 Local ( 39.97, 1.57, -50.00) Global ( 39.97, 151.57, -150.00) +TGeoCompositeShape 2 Local ( 39.88, 3.14, -50.00) Global ( 39.88, 153.14, -150.00) +TGeoCompositeShape 3 Local ( 39.72, 4.70, -50.00) Global ( 39.72, 154.70, -150.00) +TGeoCompositeShape 4 Local ( 39.51, 6.26, -50.00) Global ( 39.51, 156.26, -150.00) +TGeoCompositeShape 5 Local ( 39.23, 7.80, -50.00) Global ( 39.23, 157.80, -150.00) +TGeoCompositeShape 6 Local ( 38.89, 9.34, -50.00) Global ( 38.89, 159.34, -150.00) +TGeoCompositeShape 7 Local ( 38.50, 10.86, -50.00) Global ( 38.50, 160.86, -150.00) +TGeoCompositeShape 8 Local ( 38.04, 12.36, -50.00) Global ( 38.04, 162.36, -150.00) +TGeoCompositeShape 9 Local ( 37.53, 13.84, -50.00) Global ( 37.53, 163.84, -150.00) +TGeoCompositeShape 10 Local ( 36.96, 15.31, -50.00) Global ( 36.96, 165.31, -150.00) +TGeoCompositeShape 11 Local ( 36.33, 16.75, -50.00) Global ( 36.33, 166.75, -150.00) +TGeoCompositeShape 12 Local ( 35.64, 18.16, -50.00) Global ( 35.64, 168.16, -150.00) +TGeoCompositeShape 13 Local ( 34.90, 19.54, -50.00) Global ( 34.90, 169.54, -150.00) +TGeoCompositeShape 14 Local ( 34.11, 20.90, -50.00) Global ( 34.11, 170.90, -150.00) +TGeoCompositeShape 15 Local ( 33.26, 22.22, -50.00) Global ( 33.26, 172.22, -150.00) +TGeoCompositeShape 16 Local ( 32.36, 23.51, -50.00) Global ( 32.36, 173.51, -150.00) +TGeoCompositeShape 17 Local ( 31.41, 24.76, -50.00) Global ( 31.41, 174.76, -150.00) +TGeoCompositeShape 18 Local ( 30.42, 25.98, -50.00) Global ( 30.42, 175.98, -150.00) +TGeoCompositeShape 19 Local ( 29.37, 27.15, -50.00) Global ( 29.37, 177.15, -150.00) +TGeoCompositeShape 20 Local ( 28.28, 28.28, -50.00) Global ( 28.28, 178.28, -150.00) +TGeoCompositeShape 21 Local ( 40.00, 0.00, 50.00) Global ( 40.00, 150.00, -50.00) +TGeoCompositeShape 22 Local ( 39.97, 1.57, 50.00) Global ( 39.97, 151.57, -50.00) +TGeoCompositeShape 23 Local ( 39.88, 3.14, 50.00) Global ( 39.88, 153.14, -50.00) +TGeoCompositeShape 24 Local ( 39.72, 4.70, 50.00) Global ( 39.72, 154.70, -50.00) +TGeoCompositeShape 25 Local ( 39.51, 6.26, 50.00) Global ( 39.51, 156.26, -50.00) +TGeoCompositeShape 26 Local ( 39.23, 7.80, 50.00) Global ( 39.23, 157.80, -50.00) +TGeoCompositeShape 27 Local ( 38.89, 9.34, 50.00) Global ( 38.89, 159.34, -50.00) +TGeoCompositeShape 28 Local ( 38.50, 10.86, 50.00) Global ( 38.50, 160.86, -50.00) +TGeoCompositeShape 29 Local ( 38.04, 12.36, 50.00) Global ( 38.04, 162.36, -50.00) +TGeoCompositeShape 30 Local ( 37.53, 13.84, 50.00) Global ( 37.53, 163.84, -50.00) +TGeoCompositeShape 31 Local ( 36.96, 15.31, 50.00) Global ( 36.96, 165.31, -50.00) +TGeoCompositeShape 32 Local ( 36.33, 16.75, 50.00) Global ( 36.33, 166.75, -50.00) +TGeoCompositeShape 33 Local ( 35.64, 18.16, 50.00) Global ( 35.64, 168.16, -50.00) +TGeoCompositeShape 34 Local ( 34.90, 19.54, 50.00) Global ( 34.90, 169.54, -50.00) +TGeoCompositeShape 35 Local ( 34.11, 20.90, 50.00) Global ( 34.11, 170.90, -50.00) +TGeoCompositeShape 36 Local ( 33.26, 22.22, 50.00) Global ( 33.26, 172.22, -50.00) +TGeoCompositeShape 37 Local ( 32.36, 23.51, 50.00) Global ( 32.36, 173.51, -50.00) +TGeoCompositeShape 38 Local ( 31.41, 24.76, 50.00) Global ( 31.41, 174.76, -50.00) +TGeoCompositeShape 39 Local ( 30.42, 25.98, 50.00) Global ( 30.42, 175.98, -50.00) +TGeoCompositeShape 40 Local ( 29.37, 27.15, 50.00) Global ( 29.37, 177.15, -50.00) +TGeoCompositeShape 41 Local ( 28.28, 28.28, 50.00) Global ( 28.28, 178.28, -50.00) +TGeoCompositeShape Bounding box: dx= 12.93 dy= 14.14 dz= 50.00 Origin: x= 27.07 y= 14.14 z= 0.00 +ShapeCheck[3] TGeoCompositeShape 78 Mesh-points: +TGeoCompositeShape TruncatedTube N(mesh)=78 N(vert)=78 N(seg)=0 N(pols)=0 +TGeoCompositeShape 0 Local ( 19.83, 2.61, -50.00) Global ( 109.83, 152.61, 50.00) +TGeoCompositeShape 1 Local ( 19.32, 5.18, -50.00) Global ( 109.32, 155.18, 50.00) +TGeoCompositeShape 2 Local ( 18.48, 7.65, -50.00) Global ( 108.48, 157.65, 50.00) +TGeoCompositeShape 3 Local ( 17.32, 10.00, -50.00) Global ( 107.32, 160.00, 50.00) +TGeoCompositeShape 4 Local ( 15.87, 12.18, -50.00) Global ( 105.87, 162.18, 50.00) +TGeoCompositeShape 5 Local ( 14.14, 14.14, -50.00) Global ( 104.14, 164.14, 50.00) +TGeoCompositeShape 6 Local ( 12.18, 15.87, -50.00) Global ( 102.18, 165.87, 50.00) +TGeoCompositeShape 7 Local ( 10.00, 17.32, -50.00) Global ( 100.00, 167.32, 50.00) +TGeoCompositeShape 8 Local ( 7.65, 18.48, -50.00) Global ( 97.65, 168.48, 50.00) +TGeoCompositeShape 9 Local ( 5.18, 19.32, -50.00) Global ( 95.18, 169.32, 50.00) +TGeoCompositeShape 10 Local ( 2.61, 19.83, -50.00) Global ( 92.61, 169.83, 50.00) +TGeoCompositeShape 11 Local ( 0.00, 20.00, -50.00) Global ( 90.00, 170.00, 50.00) +TGeoCompositeShape 12 Local ( -2.61, 19.83, -50.00) Global ( 87.39, 169.83, 50.00) +TGeoCompositeShape 13 Local ( -5.18, 19.32, -50.00) Global ( 84.82, 169.32, 50.00) +TGeoCompositeShape 14 Local ( -7.65, 18.48, -50.00) Global ( 82.35, 168.48, 50.00) +TGeoCompositeShape 15 Local ( -10.00, 17.32, -50.00) Global ( 80.00, 167.32, 50.00) +TGeoCompositeShape 16 Local ( -12.18, 15.87, -50.00) Global ( 77.82, 165.87, 50.00) +TGeoCompositeShape 17 Local ( -14.14, 14.14, -50.00) Global ( 75.86, 164.14, 50.00) +TGeoCompositeShape 18 Local ( 40.00, 0.00, -50.00) Global ( 130.00, 150.00, 50.00) +TGeoCompositeShape 19 Local ( 39.66, 5.22, -50.00) Global ( 129.66, 155.22, 50.00) +TGeoCompositeShape 20 Local ( 38.64, 10.35, -50.00) Global ( 128.64, 160.35, 50.00) +TGeoCompositeShape 21 Local ( 36.96, 15.31, -50.00) Global ( 126.96, 165.31, 50.00) +TGeoCompositeShape 22 Local ( 34.64, 20.00, -50.00) Global ( 124.64, 170.00, 50.00) +TGeoCompositeShape 23 Local ( 31.73, 24.35, -50.00) Global ( 121.73, 174.35, 50.00) +TGeoCompositeShape 24 Local ( 28.28, 28.28, -50.00) Global ( 118.28, 178.28, 50.00) +TGeoCompositeShape 25 Local ( 24.35, 31.73, -50.00) Global ( 114.35, 181.73, 50.00) +TGeoCompositeShape 26 Local ( 20.00, 34.64, -50.00) Global ( 110.00, 184.64, 50.00) +TGeoCompositeShape 27 Local ( 15.31, 36.96, -50.00) Global ( 105.31, 186.96, 50.00) +TGeoCompositeShape 28 Local ( 10.35, 38.64, -50.00) Global ( 100.35, 188.64, 50.00) +TGeoCompositeShape 29 Local ( 5.22, 39.66, -50.00) Global ( 95.22, 189.66, 50.00) +TGeoCompositeShape 30 Local ( 0.00, 40.00, -50.00) Global ( 90.00, 190.00, 50.00) +TGeoCompositeShape 31 Local ( -5.22, 39.66, -50.00) Global ( 84.78, 189.66, 50.00) +TGeoCompositeShape 32 Local ( -10.35, 38.64, -50.00) Global ( 79.65, 188.64, 50.00) +TGeoCompositeShape 33 Local ( -15.31, 36.96, -50.00) Global ( 74.69, 186.96, 50.00) +TGeoCompositeShape 34 Local ( -20.00, 34.64, -50.00) Global ( 70.00, 184.64, 50.00) +TGeoCompositeShape 35 Local ( -24.35, 31.73, -50.00) Global ( 65.65, 181.73, 50.00) +TGeoCompositeShape 36 Local ( -28.28, 28.28, -50.00) Global ( 61.72, 178.28, 50.00) +TGeoCompositeShape 37 Local ( -31.73, 24.35, -50.00) Global ( 58.27, 174.35, 50.00) +TGeoCompositeShape 38 Local ( -34.64, 20.00, -50.00) Global ( 55.36, 170.00, 50.00) +TGeoCompositeShape 39 Local ( 19.83, 2.61, 50.00) Global ( 109.83, 152.61, 150.00) +TGeoCompositeShape 40 Local ( 19.32, 5.18, 50.00) Global ( 109.32, 155.18, 150.00) +TGeoCompositeShape 41 Local ( 18.48, 7.65, 50.00) Global ( 108.48, 157.65, 150.00) +TGeoCompositeShape 42 Local ( 17.32, 10.00, 50.00) Global ( 107.32, 160.00, 150.00) +TGeoCompositeShape 43 Local ( 15.87, 12.18, 50.00) Global ( 105.87, 162.18, 150.00) +TGeoCompositeShape 44 Local ( 14.14, 14.14, 50.00) Global ( 104.14, 164.14, 150.00) +TGeoCompositeShape 45 Local ( 12.18, 15.87, 50.00) Global ( 102.18, 165.87, 150.00) +TGeoCompositeShape 46 Local ( 10.00, 17.32, 50.00) Global ( 100.00, 167.32, 150.00) +TGeoCompositeShape 47 Local ( 7.65, 18.48, 50.00) Global ( 97.65, 168.48, 150.00) +TGeoCompositeShape 48 Local ( 5.18, 19.32, 50.00) Global ( 95.18, 169.32, 150.00) +TGeoCompositeShape 49 Local ( 2.61, 19.83, 50.00) Global ( 92.61, 169.83, 150.00) +TGeoCompositeShape 50 Local ( 0.00, 20.00, 50.00) Global ( 90.00, 170.00, 150.00) +TGeoCompositeShape 51 Local ( -2.61, 19.83, 50.00) Global ( 87.39, 169.83, 150.00) +TGeoCompositeShape 52 Local ( -5.18, 19.32, 50.00) Global ( 84.82, 169.32, 150.00) +TGeoCompositeShape 53 Local ( -7.65, 18.48, 50.00) Global ( 82.35, 168.48, 150.00) +TGeoCompositeShape 54 Local ( -10.00, 17.32, 50.00) Global ( 80.00, 167.32, 150.00) +TGeoCompositeShape 55 Local ( -12.18, 15.87, 50.00) Global ( 77.82, 165.87, 150.00) +TGeoCompositeShape 56 Local ( -14.14, 14.14, 50.00) Global ( 75.86, 164.14, 150.00) +TGeoCompositeShape 57 Local ( 40.00, 0.00, 50.00) Global ( 130.00, 150.00, 150.00) +TGeoCompositeShape 58 Local ( 39.66, 5.22, 50.00) Global ( 129.66, 155.22, 150.00) +TGeoCompositeShape 59 Local ( 38.64, 10.35, 50.00) Global ( 128.64, 160.35, 150.00) +TGeoCompositeShape 60 Local ( 36.96, 15.31, 50.00) Global ( 126.96, 165.31, 150.00) +TGeoCompositeShape 61 Local ( 34.64, 20.00, 50.00) Global ( 124.64, 170.00, 150.00) +TGeoCompositeShape 62 Local ( 31.73, 24.35, 50.00) Global ( 121.73, 174.35, 150.00) +TGeoCompositeShape 63 Local ( 28.28, 28.28, 50.00) Global ( 118.28, 178.28, 150.00) +TGeoCompositeShape 64 Local ( 24.35, 31.73, 50.00) Global ( 114.35, 181.73, 150.00) +TGeoCompositeShape 65 Local ( 20.00, 34.64, 50.00) Global ( 110.00, 184.64, 150.00) +TGeoCompositeShape 66 Local ( 15.31, 36.96, 50.00) Global ( 105.31, 186.96, 150.00) +TGeoCompositeShape 67 Local ( 10.35, 38.64, 50.00) Global ( 100.35, 188.64, 150.00) +TGeoCompositeShape 68 Local ( 5.22, 39.66, 50.00) Global ( 95.22, 189.66, 150.00) +TGeoCompositeShape 69 Local ( 0.00, 40.00, 50.00) Global ( 90.00, 190.00, 150.00) +TGeoCompositeShape 70 Local ( -5.22, 39.66, 50.00) Global ( 84.78, 189.66, 150.00) +TGeoCompositeShape 71 Local ( -10.35, 38.64, 50.00) Global ( 79.65, 188.64, 150.00) +TGeoCompositeShape 72 Local ( -15.31, 36.96, 50.00) Global ( 74.69, 186.96, 150.00) +TGeoCompositeShape 73 Local ( -20.00, 34.64, 50.00) Global ( 70.00, 184.64, 150.00) +TGeoCompositeShape 74 Local ( -24.35, 31.73, 50.00) Global ( 65.65, 181.73, 150.00) +TGeoCompositeShape 75 Local ( -28.28, 28.28, 50.00) Global ( 61.72, 178.28, 150.00) +TGeoCompositeShape 76 Local ( -31.73, 24.35, 50.00) Global ( 58.27, 174.35, 150.00) +TGeoCompositeShape 77 Local ( -34.64, 20.00, 50.00) Global ( 55.36, 170.00, 150.00) +TGeoCompositeShape Bounding box: dx= 37.32 dy= 20.00 dz= 50.00 Origin: x= 2.68 y= 20.00 z= 0.00 -- GitLab