39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedHype.h>
50class G4UHype :
public G4UAdapter<vecgeom::GenericUnplacedHype>
52 using Shape_t = vecgeom::GenericUnplacedHype;
53 using Base_t = G4UAdapter<vecgeom::GenericUnplacedHype>;
66 G4UHype(
const G4String& name,
76 ~G4UHype()
override =
default;
82 void ComputeDimensions(G4VPVParameterisation* p,
84 const G4VPhysicalVolume* pRep)
override;
90 G4VSolid* Clone()
const override;
104 void SetInnerRadius (
G4double newIRad);
105 void SetOuterRadius (
G4double newORad);
106 void SetZHalfLength (
G4double newHLZ);
107 void SetInnerStereo (
G4double newISte);
108 void SetOuterStereo (
G4double newOSte);
133 const G4VoxelLimits& pVoxelLimit,
134 const G4AffineTransform& pTransform,
140 G4Polyhedron* CreatePolyhedron()
const override;
145 G4UHype(
const G4UHype& source );
146 G4UHype&
operator=(
const G4UHype& source );
G4PVDivision & operator=(const G4PVDivision &)=delete
CLHEP::Hep3Vector G4ThreeVector