39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedSphere.h>
50class G4USphere :
public G4UAdapter<vecgeom::UnplacedSphere>
52 using Shape_t = vecgeom::UnplacedSphere;
53 using Base_t = G4UAdapter<vecgeom::UnplacedSphere>;
68 G4USphere(
const G4String& pName,
76 ~G4USphere()
override =
default;
82 void ComputeDimensions(G4VPVParameterisation* p,
84 const G4VPhysicalVolume* pRep)
override;
90 G4VSolid* Clone()
const override;
100 G4double GetDeltaThetaAngle()
const;
113 void SetInnerRadius (
G4double newRMin);
114 void SetOuterRadius (
G4double newRmax);
116 void SetDeltaPhiAngle (
G4double newDphi);
117 void SetStartThetaAngle(
G4double newSTheta);
118 void SetDeltaThetaAngle(
G4double newDTheta);
143 const G4VoxelLimits& pVoxelLimit,
144 const G4AffineTransform& pTransform,
150 G4Polyhedron* CreatePolyhedron()
const override;
155 G4USphere(
const G4USphere& rhs);
156 G4USphere&
operator=(
const G4USphere& rhs);
G4PVDivision & operator=(const G4PVDivision &)=delete
CLHEP::Hep3Vector G4ThreeVector