34#ifndef G4UGENERICTRAP_HH
35#define G4UGENERICTRAP_HH
39#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
41#include <VecGeom/volumes/UnplacedGenTrap.h>
46class G4UGenericTrap :
public G4UAdapter<vecgeom::UnplacedGenTrap>
48 using Shape_t = vecgeom::UnplacedGenTrap;
49 using Base_t = G4UAdapter<vecgeom::UnplacedGenTrap>;
54 const std::vector<G4TwoVector>& vertices);
56 ~G4UGenericTrap()
override;
59 G4int GetNofVertices()
const;
61 const std::vector<G4TwoVector>& GetVertices()
const;
64 G4int GetVisSubdivisions()
const;
65 void SetVisSubdivisions(
G4int subdiv);
67 void Initialise(
const std::vector<G4TwoVector>& v);
71 G4UGenericTrap(__void__&);
76 G4UGenericTrap(
const G4UGenericTrap& source );
77 G4UGenericTrap& operator=(
const G4UGenericTrap& source);
91 G4int fVisSubdivisions;
92 std::vector<G4TwoVector> fVertices;
102 return "G4GenericTrap";