39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedTube.h>
49class G4UTubs :
public G4UAdapter<vecgeom::GenericUnplacedTube>
51 using Shape_t = vecgeom::GenericUnplacedTube;
52 using Base_t = G4UAdapter<vecgeom::GenericUnplacedTube>;
67 G4UTubs(
const G4String& pName,
77 ~G4UTubs()
override =
default;
83 void ComputeDimensions( G4VPVParameterisation* p,
85 const G4VPhysicalVolume* pRep )
override;
91 G4VSolid* Clone()
const override;
109 void SetInnerRadius (
G4double newRMin);
110 void SetOuterRadius (
G4double newRMax);
111 void SetZHalfLength (
G4double newDz);
113 void SetDeltaPhiAngle (
G4double newDPhi);
138 const G4VoxelLimits& pVoxelLimit,
139 const G4AffineTransform& pTransform,
145 G4Polyhedron* CreatePolyhedron()
const override;
150 G4UTubs(
const G4UTubs& rhs);
G4PVDivision & operator=(const G4PVDivision &)=delete
CLHEP::Hep3Vector G4ThreeVector