57#if defined(G4GEOM_USE_USOLIDS)
58#define G4GEOM_USE_UPOLYHEDRA 1
61#if defined(G4GEOM_USE_UPOLYHEDRA)
62 #define G4UPolyhedra G4Polyhedra
225 std::ostream&
StreamInfo( std::ostream& os )
const override;
277 void SetSurfaceElements()
const;
285 G4bool genericPgon =
false;
292 struct surface_element {
G4double area=0.;
G4int i0=0, i1=0, i2=0; };
293 mutable std::vector<surface_element>* fElements =
nullptr;
296#include "G4Polyhedra.icc"
CLHEP::Hep3Vector G4ThreeVector
G4EnclosingCylinder is a utility class defining an envelope for quickly deciding if a point is clearl...
G4PolyhedraHistorical is a data structure for use in G4Polyhedra.
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
G4double GetSurfaceArea() override
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
G4double GetSinStartPhi() const
G4double GetEndPhi() const
void SetOriginalParameters(G4PolyhedraHistorical *pars)
G4VSolid * Clone() const override
G4Polyhedron * CreatePolyhedron() const override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4bool IsFaceted() 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
G4double GetCosStartPhi() const
G4double GetSinEndPhi() const
G4double GetCubicVolume() override
G4ReduciblePolygon is a utility class used to specify, test, reduce, and/or otherwise manipulate a 2D...
G4VCSGfaceted(const G4String &name)
G4VPVParameterisation ia an abstract base class for Parameterisation, able to compute the transformat...
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
G4VSolid(const G4String &name)
G4VoxelLimits represents limitation/restrictions of space, where restrictions are only made perpendic...