48#if defined(G4GEOM_USE_USOLIDS)
49#define G4GEOM_USE_UHYPE 1
52#if (defined(G4GEOM_USE_UHYPE) && defined(G4GEOM_USE_SYS_USOLIDS))
53 #define G4UHype G4Hype
154 const G4bool calcNorm =
false,
155 G4bool* validNorm =
nullptr,
173 std::ostream&
StreamInfo(std::ostream& os)
const override;
214 inline G4bool InnerSurfaceExists()
const;
259 enum ESide { outerFace, innerFace, leftCap, rightCap };
268 mutable G4bool fRebuildPolyhedron =
false;
CLHEP::Hep3Vector G4ThreeVector
G4ClippablePolygon in a utility class defining a polygon that can be clipped by a voxel.
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4Hype(const G4String &pName, G4double newInnerRadius, G4double newOuterRadius, G4double newInnerStereo, G4double newOuterStereo, G4double newHalfLenZ)
EInside Inside(const G4ThreeVector &p) const override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
void DescribeYourselfTo(G4VGraphicsScene &scene) const override
G4GeometryType GetEntityType() const override
G4Hype & operator=(const G4Hype &rhs)
G4VisExtent GetExtent() const override
G4VSolid * Clone() const override
void SetOuterStereo(G4double newOSte)
G4Polyhedron * CreatePolyhedron() const override
G4ThreeVector GetPointOnSurface() const override
G4Polyhedron * GetPolyhedron() const override
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const override
void SetOuterRadius(G4double newORad)
G4double GetInnerStereo() const
G4double GetSurfaceArea() override
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const override
std::ostream & StreamInfo(std::ostream &os) const override
void SetZHalfLength(G4double newHLZ)
G4double GetZHalfLength() const
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const override
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
G4double GetOuterStereo() const
G4double GetOuterRadius() const
void SetInnerStereo(G4double newISte)
void SetInnerRadius(G4double newIRad)
G4double GetInnerRadius() const
G4double GetCubicVolume() override
G4SolidExtentList is utility class designed for calculating the extent of a CSG-like solid for a voxe...
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...