43 #ifndef G4UEXTRUDEDSOLID_hh
44 #define G4UEXTRUDEDSOLID_hh
48 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
50 #include <volumes/UnplacedExtruded.h>
55 class G4UExtrudedSolid :
public G4UAdapter<vecgeom::UnplacedExtruded>
57 using Shape_t = vecgeom::UnplacedExtruded;
58 using Base_t = G4UAdapter<vecgeom::UnplacedExtruded>;
65 : fZ(z), fOffset(offset), fScale(scale) {}
74 G4UExtrudedSolid(
const G4String& pName,
75 std::vector<G4TwoVector> polygon,
76 std::vector<ZSection> zsections);
79 G4UExtrudedSolid(
const G4String& pName,
80 std::vector<G4TwoVector> polygon,
88 G4int GetNofVertices()
const;
90 std::vector<G4TwoVector> GetPolygon()
const;
91 G4int GetNofZSections()
const;
92 ZSection GetZSection(
G4int index)
const;
93 std::vector<ZSection> GetZSections()
const;
99 G4UExtrudedSolid(__void__&);
104 G4UExtrudedSolid(
const G4UExtrudedSolid& source );
105 G4UExtrudedSolid &operator=(
const G4UExtrudedSolid& source);
123 return "G4ExtrudedSolid";
126 #endif // G4GEOM_USE_USOLIDS