44#ifndef G4GENERICPOLYCONE_HH
45#define G4GENERICPOLYCONE_HH
49#if defined(G4GEOM_USE_USOLIDS)
50#define G4GEOM_USE_UGENERICPOLYCONE 1
53#if defined(G4GEOM_USE_UGENERICPOLYCONE)
54 #define G4UGenericPolycone G4GenericPolycone
98 std::ostream&
StreamInfo(std::ostream& os)
const override;
152 mutable std::vector<surface_element>*
fElements =
nullptr;
155#include "G4GenericPolycone.icc"
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4ThreeVector GetPointOnSurface() const override
void SetSurfaceElements() const
G4PolyconeSideRZ * corners
G4Polyhedron * CreatePolyhedron() const override
G4EnclosingCylinder * enclosingCylinder
G4double GetStartPhi() const
G4double GetSurfaceArea() override
void CopyStuff(const G4GenericPolycone &source)
~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
void Create(G4double phiStart, G4double phiTotal, G4ReduciblePolygon *rz)
G4GenericPolycone(const G4String &name, G4double phiStart, G4double phiTotal, G4int numRZ, const G4double r[], const G4double z[])
G4VSolid * Clone() const override
G4double GetCosStartPhi() const
std::vector< surface_element > * fElements