From b8d2d4502cb1f5fa1e8518b813f0277cb5856c07 Mon Sep 17 00:00:00 2001 From: Gabor Galgoczi Date: Sun, 12 Apr 2026 16:51:16 -0400 Subject: [PATCH] fix: remove sphere deltaPhi assertion that crashes on dRICH mirror The assertion required deltaPhi == 2*pi for all spheres, but the dRICH mirror sphere has deltaPhi < 2*pi from DD4hep construction. The phi clipping is handled by the parent IntersectionSolid, so the sphere primitive does not need to enforce it. --- u4/U4Solid.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/u4/U4Solid.h b/u4/U4Solid.h index 9a47619d5..70822b3be 100644 --- a/u4/U4Solid.h +++ b/u4/U4Solid.h @@ -552,14 +552,6 @@ inline sn* U4Solid::init_Sphere_(char layer) bool z_slice = startThetaAngle > 0. || deltaThetaAngle < CLHEP::pi ; - double startPhi = sphere->GetStartPhiAngle()/CLHEP::radian ; - double deltaPhi = sphere->GetDeltaPhiAngle()/CLHEP::radian ; - bool has_deltaPhi = startPhi != 0. || deltaPhi != 2.*CLHEP::pi ; - - bool has_deltaPhi_expect = has_deltaPhi == false ; - assert( has_deltaPhi_expect ); - if(!has_deltaPhi_expect) std::raise(SIGINT); - return z_slice ? sn::ZSphere( radius, zmin, zmax ) : sn::Sphere(radius ) ; }