diff --git a/DDCore/src/Shapes.cpp b/DDCore/src/Shapes.cpp index a422f66235e35f261796fb17165131210e984acf..b784d5bb864a4a165c836c2a1affceb66139c653 100644 --- a/DDCore/src/Shapes.cpp +++ b/DDCore/src/Shapes.cpp @@ -318,7 +318,12 @@ Cone& Cone::setDimensions(double z, double rmin1, double rmax1, double rmin2, do /// Constructor to be used when creating a new object with attribute initialization void Tube::make(const string& nam, double rmin, double rmax, double z, double start_phi, double end_phi) { - _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, start_phi/units::deg, end_phi/units::deg),nam,TUBE_TAG,true); + // Check if it is a full tube + if(fabs(end_phi-start_phi-2*M_PI)<10e-6){ + _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, 0, 360.),nam,TUBE_TAG,true); + }else{ + _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, start_phi/units::deg, end_phi/units::deg),nam,TUBE_TAG,true); + } } /// Set the tube dimensions