39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedTorus2.h>
49class G4UTorus :
public G4UAdapter<vecgeom::UnplacedTorus2>
51 using Shape_t = vecgeom::UnplacedTorus2;
52 using Base_t = G4UAdapter<vecgeom::UnplacedTorus2>;
66 G4UTorus(
const G4String& pName,
73 ~G4UTorus()
override =
default;
79 void ComputeDimensions(G4VPVParameterisation* p,
81 const G4VPhysicalVolume* pRep)
override;
87 G4VSolid* Clone()
const override;
140 const G4VoxelLimits& pVoxelLimit,
141 const G4AffineTransform& pTransform,
147 G4Polyhedron* CreatePolyhedron()
const override;
152 G4UTorus(
const G4UTorus& rhs);
153 G4UTorus&
operator=(
const G4UTorus& rhs);
G4PVDivision & operator=(const G4PVDivision &)=delete
CLHEP::Hep3Vector G4ThreeVector