42#ifndef G4GENERICPOLYCONE_HH
43#define G4GENERICPOLYCONE_HH
47#if defined(G4GEOM_USE_USOLIDS)
48#define G4GEOM_USE_UGENERICPOLYCONE 1
51#if defined(G4GEOM_USE_UGENERICPOLYCONE)
52 #define G4UGenericPolycone G4GenericPolycone
148 std::ostream&
StreamInfo(std::ostream& os)
const override;
193 void SetSurfaceElements()
const;
206 struct surface_element {
G4double area = 0.;
G4int i0 = 0, i1 = 0, i2 = 0; };
207 mutable std::vector<surface_element>* fElements =
nullptr;
210#include "G4GenericPolycone.icc"
CLHEP::Hep3Vector G4ThreeVector
G4EnclosingCylinder is a utility class defining an envelope for quickly deciding if a point is clearl...
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4ThreeVector GetPointOnSurface() const override
G4Polyhedron * CreatePolyhedron() const override
G4double GetStartPhi() const
G4double GetSurfaceArea() override
~G4GenericPolycone() override
G4GenericPolycone & operator=(const G4GenericPolycone &source)
G4double GetEndPhi() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
G4int GetNumRZCorner() const
G4double GetCubicVolume() override
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
G4double GetCosEndPhi() const
G4double GetSinStartPhi() const
G4PolyconeSideRZ GetCorner(G4int index) const
std::ostream & StreamInfo(std::ostream &os) const override
G4double GetSinEndPhi() const
G4GeometryType GetEntityType() const override
EInside Inside(const G4ThreeVector &p) const override
G4GenericPolycone(const G4String &name, G4double phiStart, G4double phiTotal, G4int numRZ, const G4double r[], const G4double z[])
G4VSolid * Clone() const override
G4double GetCosStartPhi() 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)
G4VSolid(const G4String &name)
G4VoxelLimits represents limitation/restrictions of space, where restrictions are only made perpendic...