49#if defined(G4GEOM_USE_USOLIDS)
50#define G4GEOM_USE_UELLIPSOID 1
53#if (defined(G4GEOM_USE_UELLIPSOID) && defined(G4GEOM_USE_SYS_USOLIDS))
54 #define G4UEllipsoid G4Ellipsoid
106 const G4bool calcNorm =
false,
107 G4bool* validNorm =
nullptr,
115 std::ostream&
StreamInfo(std::ostream& os)
const override;
142 void CheckParameters();
148 G4double LateralSurfaceArea()
const;
175 mutable G4double fLateralArea = 0.0;
176 mutable G4bool fRebuildPolyhedron =
false;
180#include "G4Ellipsoid.icc"
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const override
G4double GetSemiAxisMax(G4int i) const
void DescribeYourselfTo(G4VGraphicsScene &scene) const override
void SetZCuts(G4double newzBottomCut, G4double newzTopCut)
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4Ellipsoid(const G4String &name, G4double xSemiAxis, G4double ySemiAxis, G4double zSemiAxis, G4double zBottomCut=0., G4double zTopCut=0.)
EInside Inside(const G4ThreeVector &p) const override
G4Polyhedron * CreatePolyhedron() const override
G4double GetSurfaceArea() override
G4VSolid * Clone() const override
G4ThreeVector GetPointOnSurface() const override
G4double GetZTopCut() const
G4double GetZBottomCut() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
G4double GetCubicVolume() override
G4GeometryType GetEntityType() const override
G4Polyhedron * GetPolyhedron() const override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
void SetSemiAxis(G4double x, G4double y, G4double z)
G4VisExtent GetExtent() const override
G4Ellipsoid & operator=(const G4Ellipsoid &rhs)
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const override
std::ostream & StreamInfo(std::ostream &os) const override
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override