57#if defined(G4GEOM_USE_USOLIDS)
58#define G4GEOM_USE_UPOLYHEDRA 1
61#if defined(G4GEOM_USE_UPOLYHEDRA)
62 #define G4UPolyhedra G4Polyhedra
121 std::ostream&
StreamInfo( std::ostream& os )
const override;
190 mutable std::vector<surface_element>*
fElements =
nullptr;
193#include "G4Polyhedra.icc"
EInside Inside(const G4ThreeVector &p) const override
G4Polyhedra & operator=(const G4Polyhedra &source)
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4GeometryType GetEntityType() const override
G4PolyhedraHistorical * original_parameters
G4double GetSurfaceArea() override
G4PolyhedraSideRZ * corners
G4Polyhedra(const G4String &name, G4double phiStart, G4double phiTotal, G4int numSide, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
G4int GetNumRZCorner() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
G4ThreeVector GetPointOnSurface() const override
void CopyStuff(const G4Polyhedra &source)
G4double GetSinStartPhi() const
void Create(G4double phiStart, G4double phiTotal, G4int numSide, G4ReduciblePolygon *rz)
G4double GetEndPhi() const
std::vector< surface_element > * fElements
void SetOriginalParameters(G4PolyhedraHistorical *pars)
G4VSolid * Clone() const override
G4Polyhedron * CreatePolyhedron() const override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4PolyhedraHistorical * GetOriginalParameters() const
G4PolyhedraSideRZ GetCorner(const G4int index) const
std::ostream & StreamInfo(std::ostream &os) const override
G4double GetCosEndPhi() const
G4double GetStartPhi() const
G4EnclosingCylinder * enclosingCylinder
G4double GetCosStartPhi() const
G4double GetSinEndPhi() const
void SetSurfaceElements() const
G4double GetCubicVolume() override