diff --git a/DDCore/src/ShapeUtilities.cpp b/DDCore/src/ShapeUtilities.cpp index 88462e0f24888ea573e4e883d159b42419e170b1..b3fdd84d57895ad9d2c9d731e621807497a0af7d 100644 --- a/DDCore/src/ShapeUtilities.cpp +++ b/DDCore/src/ShapeUtilities.cpp @@ -583,7 +583,7 @@ namespace dd4hep { pars[0] = pars[1]; pars[1] = pars[2]; - pars[2] = (pars[3]+pars[4])/2.0; + pars[2] = (-pars[3]+pars[4])/2.0; pars[3] = 0.0; pars[4] = pars[6]; pars.resize(5); diff --git a/DDG4/src/Geant4Converter.cpp b/DDG4/src/Geant4Converter.cpp index 4aed87219dd81d4982d4f495e28bdf49bc38ae8f..ad7665add08f4284b039b24ee85b75e376f8ec9c 100644 --- a/DDG4/src/Geant4Converter.cpp +++ b/DDG4/src/Geant4Converter.cpp @@ -19,6 +19,7 @@ #include "DD4hep/Printout.h" #include "DD4hep/DD4hepUnits.h" #include "DD4hep/PropertyTable.h" +#include "DD4hep/detail/ShapesInterna.h" #include "DD4hep/detail/ObjectsInterna.h" #include "DD4hep/detail/DetectorInterna.h" @@ -543,7 +544,7 @@ void* Geant4Converter::handleSolid(const string& name, const TGeoShape* shape) c if (0 != (solid = data().g4Solids[shape])) { return solid; } - TClass* isa = shape->IsA(); + TClass* isa = shape->IsA(); PrintLevel lvl = debugShapes ? ALWAYS : outputLevel; if (isa == TGeoShapeAssembly::Class()) { // Assemblies have no corresponding 'shape' in Geant4. Ignore the shape translation. @@ -561,6 +562,8 @@ void* Geant4Converter::handleSolid(const string& name, const TGeoShape* shape) c solid = convertShape<TGeoCtub>(shape); else if (isa == TGeoEltu::Class()) solid = convertShape<TGeoEltu>(shape); + else if (isa == TwistedTubeObject::Class()) + solid = convertShape<TwistedTubeObject>(shape); else if (isa == TGeoTrd1::Class()) solid = convertShape<TGeoTrd1>(shape); else if (isa == TGeoTrd2::Class()) diff --git a/DDG4/src/Geant4ShapeConverter.cpp b/DDG4/src/Geant4ShapeConverter.cpp index 31d5c2723e3ffbb005568898aaf1070fffb1b1df..3e12a1074508c0ffd635e14a483b0e4b371a8b74 100644 --- a/DDG4/src/Geant4ShapeConverter.cpp +++ b/DDG4/src/Geant4ShapeConverter.cpp @@ -15,6 +15,7 @@ #include "DD4hep/Shapes.h" #include "DD4hep/Printout.h" #include "DD4hep/DD4hepUnits.h" +#include "DD4hep/detail/ShapesInterna.h" #include "Geant4ShapeConverter.h" @@ -36,8 +37,9 @@ #include "G4CutTubs.hh" #include "G4Polycone.hh" #include "G4Polyhedra.hh" -#include "G4Paraboloid.hh" #include "G4Ellipsoid.hh" +#include "G4Paraboloid.hh" +#include "G4TwistedTubs.hh" #include "G4GenericTrap.hh" #include "G4ExtrudedSolid.hh" #include "G4EllipticalTube.hh" @@ -100,6 +102,14 @@ namespace dd4hep { return new G4EllipticalTube(sh->GetName(),sh->GetA() * CM_2_MM, sh->GetB() * CM_2_MM, sh->GetDz() * CM_2_MM); } + template <> G4VSolid* convertShape<TwistedTubeObject>(const TGeoShape* shape) { + const TwistedTubeObject* sh = (const TwistedTubeObject*) shape; + return new G4TwistedTubs(sh->GetName(),sh->GetPhiTwist() * DEGREE_2_RAD, + sh->GetRmin() * CM_2_MM, sh->GetRmax() * CM_2_MM, + sh->GetNegativeEndZ() * CM_2_MM, sh->GetPositiveEndZ() * CM_2_MM, + sh->GetNsegments(), (sh->GetPhi2()-sh->GetPhi1()) * DEGREE_2_RAD); + } + template <> G4VSolid* convertShape<TGeoTrd1>(const TGeoShape* shape) { const TGeoTrd1* sh = (const TGeoTrd1*) shape; return new G4Trd(sh->GetName(), sh->GetDx1() * CM_2_MM, sh->GetDx2() * CM_2_MM, sh->GetDy() * CM_2_MM, sh->GetDy() * CM_2_MM, diff --git a/examples/ClientTests/compact/Check_Shape_TwistedTube.xml b/examples/ClientTests/compact/Check_Shape_TwistedTube.xml index d2b795a3859497f4e6a276a7337ee8f9ff401d6b..dfb01c435f93426f9cb023d46befa9ce091e590c 100644 --- a/examples/ClientTests/compact/Check_Shape_TwistedTube.xml +++ b/examples/ClientTests/compact/Check_Shape_TwistedTube.xml @@ -4,7 +4,7 @@ </includes> <detectors> - <detector id="1" name="Shape_TwistedTube" type="DD4hep_TestShape_Creator"> + <detector id="1" name="Shape_Test" type="DD4hep_TestShape_Creator"> <check vis="Shape1_vis"> <shape type="TwistedTube" twist="20*degree" rmin="10*cm" rmax="30*cm" dz="40*cm" deltaphi="45*degree" /> <position x="30" y="30" z="30"/> diff --git a/examples/ClientTests/ref/Ref_TwistedTube.txt b/examples/ClientTests/ref/Ref_TwistedTube.txt index 3dc484c646bf65b414a5c49f86194913e5b0905b..25d84981f7bb3b6e9dd98d5d313e94c42f73ed0b 100644 --- a/examples/ClientTests/ref/Ref_TwistedTube.txt +++ b/examples/ClientTests/ref/Ref_TwistedTube.txt @@ -1,87 +1,87 @@ ShapeCheck[0] dd4hep::TwistedTubeObject 84 Mesh-points: dd4hep::TwistedTubeObject TwistedTube N(mesh)=84 N(vert)=84 N(seg)=168 N(pols)=82 -dd4hep::TwistedTubeObject 0 Local ( 10.00, 0.00, 40.00) Global ( 40.00, 30.00, 70.00) -dd4hep::TwistedTubeObject 1 Local ( 9.99, 0.39, 40.00) Global ( 39.99, 30.39, 70.00) -dd4hep::TwistedTubeObject 2 Local ( 9.97, 0.78, 40.00) Global ( 39.97, 30.78, 70.00) -dd4hep::TwistedTubeObject 3 Local ( 9.93, 1.18, 40.00) Global ( 39.93, 31.18, 70.00) -dd4hep::TwistedTubeObject 4 Local ( 9.88, 1.56, 40.00) Global ( 39.88, 31.56, 70.00) -dd4hep::TwistedTubeObject 5 Local ( 9.81, 1.95, 40.00) Global ( 39.81, 31.95, 70.00) -dd4hep::TwistedTubeObject 6 Local ( 9.72, 2.33, 40.00) Global ( 39.72, 32.33, 70.00) -dd4hep::TwistedTubeObject 7 Local ( 9.62, 2.71, 40.00) Global ( 39.62, 32.71, 70.00) -dd4hep::TwistedTubeObject 8 Local ( 9.51, 3.09, 40.00) Global ( 39.51, 33.09, 70.00) -dd4hep::TwistedTubeObject 9 Local ( 9.38, 3.46, 40.00) Global ( 39.38, 33.46, 70.00) -dd4hep::TwistedTubeObject 10 Local ( 9.24, 3.83, 40.00) Global ( 39.24, 33.83, 70.00) -dd4hep::TwistedTubeObject 11 Local ( 9.08, 4.19, 40.00) Global ( 39.08, 34.19, 70.00) -dd4hep::TwistedTubeObject 12 Local ( 8.91, 4.54, 40.00) Global ( 38.91, 34.54, 70.00) -dd4hep::TwistedTubeObject 13 Local ( 8.72, 4.89, 40.00) Global ( 38.72, 34.89, 70.00) -dd4hep::TwistedTubeObject 14 Local ( 8.53, 5.22, 40.00) Global ( 38.53, 35.22, 70.00) -dd4hep::TwistedTubeObject 15 Local ( 8.31, 5.56, 40.00) Global ( 38.31, 35.56, 70.00) -dd4hep::TwistedTubeObject 16 Local ( 8.09, 5.88, 40.00) Global ( 38.09, 35.88, 70.00) -dd4hep::TwistedTubeObject 17 Local ( 7.85, 6.19, 40.00) Global ( 37.85, 36.19, 70.00) -dd4hep::TwistedTubeObject 18 Local ( 7.60, 6.49, 40.00) Global ( 37.60, 36.49, 70.00) -dd4hep::TwistedTubeObject 19 Local ( 7.34, 6.79, 40.00) Global ( 37.34, 36.79, 70.00) -dd4hep::TwistedTubeObject 20 Local ( 7.07, 7.07, 40.00) Global ( 37.07, 37.07, 70.00) -dd4hep::TwistedTubeObject 21 Local ( 30.00, 0.00, 40.00) Global ( 60.00, 30.00, 70.00) -dd4hep::TwistedTubeObject 22 Local ( 29.98, 1.18, 40.00) Global ( 59.98, 31.18, 70.00) -dd4hep::TwistedTubeObject 23 Local ( 29.91, 2.35, 40.00) Global ( 59.91, 32.35, 70.00) -dd4hep::TwistedTubeObject 24 Local ( 29.79, 3.53, 40.00) Global ( 59.79, 33.53, 70.00) -dd4hep::TwistedTubeObject 25 Local ( 29.63, 4.69, 40.00) Global ( 59.63, 34.69, 70.00) -dd4hep::TwistedTubeObject 26 Local ( 29.42, 5.85, 40.00) Global ( 59.42, 35.85, 70.00) -dd4hep::TwistedTubeObject 27 Local ( 29.17, 7.00, 40.00) Global ( 59.17, 37.00, 70.00) -dd4hep::TwistedTubeObject 28 Local ( 28.87, 8.14, 40.00) Global ( 58.87, 38.14, 70.00) -dd4hep::TwistedTubeObject 29 Local ( 28.53, 9.27, 40.00) Global ( 58.53, 39.27, 70.00) -dd4hep::TwistedTubeObject 30 Local ( 28.15, 10.38, 40.00) Global ( 58.15, 40.38, 70.00) -dd4hep::TwistedTubeObject 31 Local ( 27.72, 11.48, 40.00) Global ( 57.72, 41.48, 70.00) -dd4hep::TwistedTubeObject 32 Local ( 27.24, 12.56, 40.00) Global ( 57.24, 42.56, 70.00) -dd4hep::TwistedTubeObject 33 Local ( 26.73, 13.62, 40.00) Global ( 56.73, 43.62, 70.00) -dd4hep::TwistedTubeObject 34 Local ( 26.17, 14.66, 40.00) Global ( 56.17, 44.66, 70.00) -dd4hep::TwistedTubeObject 35 Local ( 25.58, 15.67, 40.00) Global ( 55.58, 45.67, 70.00) -dd4hep::TwistedTubeObject 36 Local ( 24.94, 16.67, 40.00) Global ( 54.94, 46.67, 70.00) -dd4hep::TwistedTubeObject 37 Local ( 24.27, 17.63, 40.00) Global ( 54.27, 47.63, 70.00) -dd4hep::TwistedTubeObject 38 Local ( 23.56, 18.57, 40.00) Global ( 53.56, 48.57, 70.00) -dd4hep::TwistedTubeObject 39 Local ( 22.81, 19.48, 40.00) Global ( 52.81, 49.48, 70.00) -dd4hep::TwistedTubeObject 40 Local ( 22.03, 20.36, 40.00) Global ( 52.03, 50.36, 70.00) -dd4hep::TwistedTubeObject 41 Local ( 21.21, 21.21, 40.00) Global ( 51.21, 51.21, 70.00) -dd4hep::TwistedTubeObject 42 Local ( 10.00, 0.00, -40.00) Global ( 40.00, 30.00, -10.00) -dd4hep::TwistedTubeObject 43 Local ( 9.99, 0.39, -40.00) Global ( 39.99, 30.39, -10.00) -dd4hep::TwistedTubeObject 44 Local ( 9.97, 0.78, -40.00) Global ( 39.97, 30.78, -10.00) -dd4hep::TwistedTubeObject 45 Local ( 9.93, 1.18, -40.00) Global ( 39.93, 31.18, -10.00) -dd4hep::TwistedTubeObject 46 Local ( 9.88, 1.56, -40.00) Global ( 39.88, 31.56, -10.00) -dd4hep::TwistedTubeObject 47 Local ( 9.81, 1.95, -40.00) Global ( 39.81, 31.95, -10.00) -dd4hep::TwistedTubeObject 48 Local ( 9.72, 2.33, -40.00) Global ( 39.72, 32.33, -10.00) -dd4hep::TwistedTubeObject 49 Local ( 9.62, 2.71, -40.00) Global ( 39.62, 32.71, -10.00) -dd4hep::TwistedTubeObject 50 Local ( 9.51, 3.09, -40.00) Global ( 39.51, 33.09, -10.00) -dd4hep::TwistedTubeObject 51 Local ( 9.38, 3.46, -40.00) Global ( 39.38, 33.46, -10.00) -dd4hep::TwistedTubeObject 52 Local ( 9.24, 3.83, -40.00) Global ( 39.24, 33.83, -10.00) -dd4hep::TwistedTubeObject 53 Local ( 9.08, 4.19, -40.00) Global ( 39.08, 34.19, -10.00) -dd4hep::TwistedTubeObject 54 Local ( 8.91, 4.54, -40.00) Global ( 38.91, 34.54, -10.00) -dd4hep::TwistedTubeObject 55 Local ( 8.72, 4.89, -40.00) Global ( 38.72, 34.89, -10.00) -dd4hep::TwistedTubeObject 56 Local ( 8.53, 5.22, -40.00) Global ( 38.53, 35.22, -10.00) -dd4hep::TwistedTubeObject 57 Local ( 8.31, 5.56, -40.00) Global ( 38.31, 35.56, -10.00) -dd4hep::TwistedTubeObject 58 Local ( 8.09, 5.88, -40.00) Global ( 38.09, 35.88, -10.00) -dd4hep::TwistedTubeObject 59 Local ( 7.85, 6.19, -40.00) Global ( 37.85, 36.19, -10.00) -dd4hep::TwistedTubeObject 60 Local ( 7.60, 6.49, -40.00) Global ( 37.60, 36.49, -10.00) -dd4hep::TwistedTubeObject 61 Local ( 7.34, 6.79, -40.00) Global ( 37.34, 36.79, -10.00) -dd4hep::TwistedTubeObject 62 Local ( 7.07, 7.07, -40.00) Global ( 37.07, 37.07, -10.00) -dd4hep::TwistedTubeObject 63 Local ( 30.00, 0.00, -40.00) Global ( 60.00, 30.00, -10.00) -dd4hep::TwistedTubeObject 64 Local ( 29.98, 1.18, -40.00) Global ( 59.98, 31.18, -10.00) -dd4hep::TwistedTubeObject 65 Local ( 29.91, 2.35, -40.00) Global ( 59.91, 32.35, -10.00) -dd4hep::TwistedTubeObject 66 Local ( 29.79, 3.53, -40.00) Global ( 59.79, 33.53, -10.00) -dd4hep::TwistedTubeObject 67 Local ( 29.63, 4.69, -40.00) Global ( 59.63, 34.69, -10.00) -dd4hep::TwistedTubeObject 68 Local ( 29.42, 5.85, -40.00) Global ( 59.42, 35.85, -10.00) -dd4hep::TwistedTubeObject 69 Local ( 29.17, 7.00, -40.00) Global ( 59.17, 37.00, -10.00) -dd4hep::TwistedTubeObject 70 Local ( 28.87, 8.14, -40.00) Global ( 58.87, 38.14, -10.00) -dd4hep::TwistedTubeObject 71 Local ( 28.53, 9.27, -40.00) Global ( 58.53, 39.27, -10.00) -dd4hep::TwistedTubeObject 72 Local ( 28.15, 10.38, -40.00) Global ( 58.15, 40.38, -10.00) -dd4hep::TwistedTubeObject 73 Local ( 27.72, 11.48, -40.00) Global ( 57.72, 41.48, -10.00) -dd4hep::TwistedTubeObject 74 Local ( 27.24, 12.56, -40.00) Global ( 57.24, 42.56, -10.00) -dd4hep::TwistedTubeObject 75 Local ( 26.73, 13.62, -40.00) Global ( 56.73, 43.62, -10.00) -dd4hep::TwistedTubeObject 76 Local ( 26.17, 14.66, -40.00) Global ( 56.17, 44.66, -10.00) -dd4hep::TwistedTubeObject 77 Local ( 25.58, 15.67, -40.00) Global ( 55.58, 45.67, -10.00) -dd4hep::TwistedTubeObject 78 Local ( 24.94, 16.67, -40.00) Global ( 54.94, 46.67, -10.00) -dd4hep::TwistedTubeObject 79 Local ( 24.27, 17.63, -40.00) Global ( 54.27, 47.63, -10.00) -dd4hep::TwistedTubeObject 80 Local ( 23.56, 18.57, -40.00) Global ( 53.56, 48.57, -10.00) -dd4hep::TwistedTubeObject 81 Local ( 22.81, 19.48, -40.00) Global ( 52.81, 49.48, -10.00) -dd4hep::TwistedTubeObject 82 Local ( 22.03, 20.36, -40.00) Global ( 52.03, 50.36, -10.00) -dd4hep::TwistedTubeObject 83 Local ( 21.21, 21.21, -40.00) Global ( 51.21, 51.21, -10.00) -dd4hep::TwistedTubeObject Bounding box: dx= 11.46 dy= 10.61 dz= -40.00 Origin: x= 18.54 y= 10.61 z= 0.00 +dd4hep::TwistedTubeObject 0 Local ( 10.00, 0.00, -40.00) Global ( 40.00, 30.00, -10.00) +dd4hep::TwistedTubeObject 1 Local ( 9.99, 0.39, -40.00) Global ( 39.99, 30.39, -10.00) +dd4hep::TwistedTubeObject 2 Local ( 9.97, 0.78, -40.00) Global ( 39.97, 30.78, -10.00) +dd4hep::TwistedTubeObject 3 Local ( 9.93, 1.18, -40.00) Global ( 39.93, 31.18, -10.00) +dd4hep::TwistedTubeObject 4 Local ( 9.88, 1.56, -40.00) Global ( 39.88, 31.56, -10.00) +dd4hep::TwistedTubeObject 5 Local ( 9.81, 1.95, -40.00) Global ( 39.81, 31.95, -10.00) +dd4hep::TwistedTubeObject 6 Local ( 9.72, 2.33, -40.00) Global ( 39.72, 32.33, -10.00) +dd4hep::TwistedTubeObject 7 Local ( 9.62, 2.71, -40.00) Global ( 39.62, 32.71, -10.00) +dd4hep::TwistedTubeObject 8 Local ( 9.51, 3.09, -40.00) Global ( 39.51, 33.09, -10.00) +dd4hep::TwistedTubeObject 9 Local ( 9.38, 3.46, -40.00) Global ( 39.38, 33.46, -10.00) +dd4hep::TwistedTubeObject 10 Local ( 9.24, 3.83, -40.00) Global ( 39.24, 33.83, -10.00) +dd4hep::TwistedTubeObject 11 Local ( 9.08, 4.19, -40.00) Global ( 39.08, 34.19, -10.00) +dd4hep::TwistedTubeObject 12 Local ( 8.91, 4.54, -40.00) Global ( 38.91, 34.54, -10.00) +dd4hep::TwistedTubeObject 13 Local ( 8.72, 4.89, -40.00) Global ( 38.72, 34.89, -10.00) +dd4hep::TwistedTubeObject 14 Local ( 8.53, 5.22, -40.00) Global ( 38.53, 35.22, -10.00) +dd4hep::TwistedTubeObject 15 Local ( 8.31, 5.56, -40.00) Global ( 38.31, 35.56, -10.00) +dd4hep::TwistedTubeObject 16 Local ( 8.09, 5.88, -40.00) Global ( 38.09, 35.88, -10.00) +dd4hep::TwistedTubeObject 17 Local ( 7.85, 6.19, -40.00) Global ( 37.85, 36.19, -10.00) +dd4hep::TwistedTubeObject 18 Local ( 7.60, 6.49, -40.00) Global ( 37.60, 36.49, -10.00) +dd4hep::TwistedTubeObject 19 Local ( 7.34, 6.79, -40.00) Global ( 37.34, 36.79, -10.00) +dd4hep::TwistedTubeObject 20 Local ( 7.07, 7.07, -40.00) Global ( 37.07, 37.07, -10.00) +dd4hep::TwistedTubeObject 21 Local ( 30.00, 0.00, -40.00) Global ( 60.00, 30.00, -10.00) +dd4hep::TwistedTubeObject 22 Local ( 29.98, 1.18, -40.00) Global ( 59.98, 31.18, -10.00) +dd4hep::TwistedTubeObject 23 Local ( 29.91, 2.35, -40.00) Global ( 59.91, 32.35, -10.00) +dd4hep::TwistedTubeObject 24 Local ( 29.79, 3.53, -40.00) Global ( 59.79, 33.53, -10.00) +dd4hep::TwistedTubeObject 25 Local ( 29.63, 4.69, -40.00) Global ( 59.63, 34.69, -10.00) +dd4hep::TwistedTubeObject 26 Local ( 29.42, 5.85, -40.00) Global ( 59.42, 35.85, -10.00) +dd4hep::TwistedTubeObject 27 Local ( 29.17, 7.00, -40.00) Global ( 59.17, 37.00, -10.00) +dd4hep::TwistedTubeObject 28 Local ( 28.87, 8.14, -40.00) Global ( 58.87, 38.14, -10.00) +dd4hep::TwistedTubeObject 29 Local ( 28.53, 9.27, -40.00) Global ( 58.53, 39.27, -10.00) +dd4hep::TwistedTubeObject 30 Local ( 28.15, 10.38, -40.00) Global ( 58.15, 40.38, -10.00) +dd4hep::TwistedTubeObject 31 Local ( 27.72, 11.48, -40.00) Global ( 57.72, 41.48, -10.00) +dd4hep::TwistedTubeObject 32 Local ( 27.24, 12.56, -40.00) Global ( 57.24, 42.56, -10.00) +dd4hep::TwistedTubeObject 33 Local ( 26.73, 13.62, -40.00) Global ( 56.73, 43.62, -10.00) +dd4hep::TwistedTubeObject 34 Local ( 26.17, 14.66, -40.00) Global ( 56.17, 44.66, -10.00) +dd4hep::TwistedTubeObject 35 Local ( 25.58, 15.67, -40.00) Global ( 55.58, 45.67, -10.00) +dd4hep::TwistedTubeObject 36 Local ( 24.94, 16.67, -40.00) Global ( 54.94, 46.67, -10.00) +dd4hep::TwistedTubeObject 37 Local ( 24.27, 17.63, -40.00) Global ( 54.27, 47.63, -10.00) +dd4hep::TwistedTubeObject 38 Local ( 23.56, 18.57, -40.00) Global ( 53.56, 48.57, -10.00) +dd4hep::TwistedTubeObject 39 Local ( 22.81, 19.48, -40.00) Global ( 52.81, 49.48, -10.00) +dd4hep::TwistedTubeObject 40 Local ( 22.03, 20.36, -40.00) Global ( 52.03, 50.36, -10.00) +dd4hep::TwistedTubeObject 41 Local ( 21.21, 21.21, -40.00) Global ( 51.21, 51.21, -10.00) +dd4hep::TwistedTubeObject 42 Local ( 10.00, 0.00, 40.00) Global ( 40.00, 30.00, 70.00) +dd4hep::TwistedTubeObject 43 Local ( 9.99, 0.39, 40.00) Global ( 39.99, 30.39, 70.00) +dd4hep::TwistedTubeObject 44 Local ( 9.97, 0.78, 40.00) Global ( 39.97, 30.78, 70.00) +dd4hep::TwistedTubeObject 45 Local ( 9.93, 1.18, 40.00) Global ( 39.93, 31.18, 70.00) +dd4hep::TwistedTubeObject 46 Local ( 9.88, 1.56, 40.00) Global ( 39.88, 31.56, 70.00) +dd4hep::TwistedTubeObject 47 Local ( 9.81, 1.95, 40.00) Global ( 39.81, 31.95, 70.00) +dd4hep::TwistedTubeObject 48 Local ( 9.72, 2.33, 40.00) Global ( 39.72, 32.33, 70.00) +dd4hep::TwistedTubeObject 49 Local ( 9.62, 2.71, 40.00) Global ( 39.62, 32.71, 70.00) +dd4hep::TwistedTubeObject 50 Local ( 9.51, 3.09, 40.00) Global ( 39.51, 33.09, 70.00) +dd4hep::TwistedTubeObject 51 Local ( 9.38, 3.46, 40.00) Global ( 39.38, 33.46, 70.00) +dd4hep::TwistedTubeObject 52 Local ( 9.24, 3.83, 40.00) Global ( 39.24, 33.83, 70.00) +dd4hep::TwistedTubeObject 53 Local ( 9.08, 4.19, 40.00) Global ( 39.08, 34.19, 70.00) +dd4hep::TwistedTubeObject 54 Local ( 8.91, 4.54, 40.00) Global ( 38.91, 34.54, 70.00) +dd4hep::TwistedTubeObject 55 Local ( 8.72, 4.89, 40.00) Global ( 38.72, 34.89, 70.00) +dd4hep::TwistedTubeObject 56 Local ( 8.53, 5.22, 40.00) Global ( 38.53, 35.22, 70.00) +dd4hep::TwistedTubeObject 57 Local ( 8.31, 5.56, 40.00) Global ( 38.31, 35.56, 70.00) +dd4hep::TwistedTubeObject 58 Local ( 8.09, 5.88, 40.00) Global ( 38.09, 35.88, 70.00) +dd4hep::TwistedTubeObject 59 Local ( 7.85, 6.19, 40.00) Global ( 37.85, 36.19, 70.00) +dd4hep::TwistedTubeObject 60 Local ( 7.60, 6.49, 40.00) Global ( 37.60, 36.49, 70.00) +dd4hep::TwistedTubeObject 61 Local ( 7.34, 6.79, 40.00) Global ( 37.34, 36.79, 70.00) +dd4hep::TwistedTubeObject 62 Local ( 7.07, 7.07, 40.00) Global ( 37.07, 37.07, 70.00) +dd4hep::TwistedTubeObject 63 Local ( 30.00, 0.00, 40.00) Global ( 60.00, 30.00, 70.00) +dd4hep::TwistedTubeObject 64 Local ( 29.98, 1.18, 40.00) Global ( 59.98, 31.18, 70.00) +dd4hep::TwistedTubeObject 65 Local ( 29.91, 2.35, 40.00) Global ( 59.91, 32.35, 70.00) +dd4hep::TwistedTubeObject 66 Local ( 29.79, 3.53, 40.00) Global ( 59.79, 33.53, 70.00) +dd4hep::TwistedTubeObject 67 Local ( 29.63, 4.69, 40.00) Global ( 59.63, 34.69, 70.00) +dd4hep::TwistedTubeObject 68 Local ( 29.42, 5.85, 40.00) Global ( 59.42, 35.85, 70.00) +dd4hep::TwistedTubeObject 69 Local ( 29.17, 7.00, 40.00) Global ( 59.17, 37.00, 70.00) +dd4hep::TwistedTubeObject 70 Local ( 28.87, 8.14, 40.00) Global ( 58.87, 38.14, 70.00) +dd4hep::TwistedTubeObject 71 Local ( 28.53, 9.27, 40.00) Global ( 58.53, 39.27, 70.00) +dd4hep::TwistedTubeObject 72 Local ( 28.15, 10.38, 40.00) Global ( 58.15, 40.38, 70.00) +dd4hep::TwistedTubeObject 73 Local ( 27.72, 11.48, 40.00) Global ( 57.72, 41.48, 70.00) +dd4hep::TwistedTubeObject 74 Local ( 27.24, 12.56, 40.00) Global ( 57.24, 42.56, 70.00) +dd4hep::TwistedTubeObject 75 Local ( 26.73, 13.62, 40.00) Global ( 56.73, 43.62, 70.00) +dd4hep::TwistedTubeObject 76 Local ( 26.17, 14.66, 40.00) Global ( 56.17, 44.66, 70.00) +dd4hep::TwistedTubeObject 77 Local ( 25.58, 15.67, 40.00) Global ( 55.58, 45.67, 70.00) +dd4hep::TwistedTubeObject 78 Local ( 24.94, 16.67, 40.00) Global ( 54.94, 46.67, 70.00) +dd4hep::TwistedTubeObject 79 Local ( 24.27, 17.63, 40.00) Global ( 54.27, 47.63, 70.00) +dd4hep::TwistedTubeObject 80 Local ( 23.56, 18.57, 40.00) Global ( 53.56, 48.57, 70.00) +dd4hep::TwistedTubeObject 81 Local ( 22.81, 19.48, 40.00) Global ( 52.81, 49.48, 70.00) +dd4hep::TwistedTubeObject 82 Local ( 22.03, 20.36, 40.00) Global ( 52.03, 50.36, 70.00) +dd4hep::TwistedTubeObject 83 Local ( 21.21, 21.21, 40.00) Global ( 51.21, 51.21, 70.00) +dd4hep::TwistedTubeObject Bounding box: dx= 11.46 dy= 10.61 dz= 40.00 Origin: x= 18.54 y= 10.61 z= 0.00 diff --git a/examples/ClientTests/scripts/Check_shape.py b/examples/ClientTests/scripts/Check_shape.py index 48a36d2b69e5699fd726ecaff30b1a97c69ee7df..ab2449c5c30b2cf949e6464e2e4e8f7e0f3c0b24 100644 --- a/examples/ClientTests/scripts/Check_shape.py +++ b/examples/ClientTests/scripts/Check_shape.py @@ -18,15 +18,18 @@ def run(): geo = None vis = False batch = False - #pdb.set_trace() for i in xrange(len(sys.argv)): c = sys.argv[i].upper() - if c.find('BATCH') < 2 and c.find('BATCH') >= 0: batch = True - if c[:4] == '-GEO': geo = sys.argv[i+1] - if c[:4] == '-VIS': vis = True + if c.find('BATCH') < 2 and c.find('BATCH') >= 0: + batch = True + if c[:4] == '-GEO': + geo = sys.argv[i+1] + if c[:4] == '-VIS': + vis = True - ui = geant4.setupCshUI(ui=None,vis=vis) - if batch: kernel.UI = '' + ui = geant4.setupCshUI(ui=None, vis=vis) + if batch: + kernel.UI = '' kernel.loadGeometry(geo) # Configure field geant4.setupTrackingField(prt=True) @@ -48,5 +51,6 @@ def run(): kernel.run() kernel.terminate() + if __name__ == "__main__": run()