39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedTrapezoid.h>
49class G4UTrap :
public G4UAdapter<vecgeom::UnplacedTrapezoid>
51 using Shape_t = vecgeom::UnplacedTrapezoid;
52 using Base_t = G4UAdapter<vecgeom::UnplacedTrapezoid>;
80 G4UTrap(
const G4String& pName,
93 G4UTrap(
const G4String& pName,
104 G4UTrap(
const G4String& pName,
118 G4UTrap(
const G4String& pName,
136 G4UTrap(
const G4String& pName,
145 G4UTrap(
const G4String& pName );
150 ~G4UTrap()
override =
default;
156 void ComputeDimensions(G4VPVParameterisation* p,
158 const G4VPhysicalVolume* pRep)
override;
164 G4VSolid* Clone()
const override;
166 using Base_t::GetTanAlpha1;
167 using Base_t::GetTanAlpha2;
186 TrapSidePlane GetSidePlane(
G4int n)
const;
215 inline G4bool IsFaceted()
const override;
235 const G4VoxelLimits& pVoxelLimit,
236 const G4AffineTransform& pTransform,
242 G4Polyhedron* CreatePolyhedron()
const override;
247 G4UTrap(
const G4UTrap& rhs);
260 void CheckParameters()
const;
282inline G4bool G4UTrap::IsFaceted()
const
G4PVDivision & operator=(const G4PVDivision &)=delete
CLHEP::Hep3Vector G4ThreeVector