57#if defined(G4GEOM_USE_USOLIDS)
58#define G4GEOM_USE_UPOLYCONE 1
61#if defined(G4GEOM_USE_UPOLYCONE)
62 #define G4UPolycone G4Polycone
210 std::ostream&
StreamInfo(std::ostream& os)
const override;
256 void SetSurfaceElements()
const;
270 struct surface_element {
G4double area = 0.;
G4int i0 = 0, i1 = 0, i2 = 0; };
271 mutable std::vector<surface_element>* fElements =
nullptr;
274#include "G4Polycone.icc"
CLHEP::Hep3Vector G4ThreeVector
G4EnclosingCylinder is a utility class defining an envelope for quickly deciding if a point is clearl...
G4PolyconeHistorical is a data structure for use in G4Polycone.
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4double GetCosEndPhi() const
G4Polyhedron * CreatePolyhedron() const override
G4GeometryType GetEntityType() const override
G4Polycone(const G4String &name, G4double phiStart, G4double phiTotal, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
G4double GetSurfaceArea() override
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4double GetEndPhi() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
G4double GetSinEndPhi() const
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
EInside Inside(const G4ThreeVector &p) const override
G4double GetCosStartPhi() const
void SetOriginalParameters(G4PolyconeHistorical *pars)
G4double GetCubicVolume() override
G4double GetStartPhi() const
G4Polycone & operator=(const G4Polycone &source)
G4VSolid * Clone() const override
G4PolyconeHistorical * GetOriginalParameters() const
std::ostream & StreamInfo(std::ostream &os) const override
G4ThreeVector GetPointOnSurface() const override
G4double GetSinStartPhi() const
G4int GetNumRZCorner() const
G4PolyconeSideRZ GetCorner(G4int index) const
G4ReduciblePolygon is a utility class used to specify, test, reduce, and/or otherwise manipulate a 2D...
G4VCSGface is virtual base class, representing one side (or face) of a CSG-like solid....
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...