72 #if defined(G4GEOM_USE_USOLIDS)
73 #define G4GEOM_USE_USPHERE 1
76 #if defined(G4GEOM_USE_USPHERE)
77 #define G4USphere G4Sphere
157 std::ostream&
StreamInfo(std::ostream& os)
const;
192 G4int& noPolygonVertices)
const;
197 inline void Initialize();
202 inline void CheckSPhiAngle(
G4double sPhi);
203 inline void CheckDPhiAngle(
G4double dPhi);
208 inline void InitializePhiTrigonometry();
209 inline void InitializeThetaTrigonometry();
222 enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta};
226 enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta};
228 G4double fRminTolerance, fRmaxTolerance, kAngTolerance,
229 kRadTolerance, fEpsilon;
233 G4double fRmin, fRmax, fSPhi, fDPhi, fSTheta, fDTheta;
237 G4double sinCPhi, cosCPhi, cosHDPhiOT, cosHDPhiIT,
238 sinSPhi, cosSPhi, sinEPhi, cosEPhi, hDPhi, cPhi, ePhi;
242 G4double sinSTheta, cosSTheta, sinETheta, cosETheta,
243 tanSTheta, tanSTheta2, tanETheta, tanETheta2, eTheta;
247 G4bool fFullPhiSphere, fFullThetaSphere, fFullSphere;
251 G4double halfCarTolerance, halfAngTolerance;
256 #include "G4Sphere.icc"
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const
void SetStartPhiAngle(G4double newSphi, G4bool trig=true)
G4Polyhedron * CreatePolyhedron() const
G4double GetInsideRadius() const
G4double GetDeltaPhiAngle() const
G4Sphere(const G4String &pName, G4double pRmin, G4double pRmax, G4double pSPhi, G4double pDPhi, G4double pSTheta, G4double pDTheta)
G4ThreeVector GetPointOnSurface() const
void SetDeltaThetaAngle(G4double newDTheta)
void SetStartThetaAngle(G4double newSTheta)
G4double GetStartThetaAngle() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const
G4double GetDTheta() const
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=G4bool(false), G4bool *validNorm=0, G4ThreeVector *n=0) const
EInside Inside(const G4ThreeVector &p) const
std::vector< G4ThreeVector > G4ThreeVectorList
G4GeometryType GetEntityType() const
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const
void SetOuterRadius(G4double newRmax)
void SetInsideRadius(G4double newRmin)
G4double GetInnerRadius() const
G4Sphere & operator=(const G4Sphere &rhs)
void SetDeltaPhiAngle(G4double newDphi)
std::ostream & StreamInfo(std::ostream &os) const
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
G4VisExtent GetExtent() const
G4double GetSurfaceArea()
void SetInnerRadius(G4double newRMin)
G4double GetSTheta() const
G4double GetOuterRadius() const
G4double GetStartPhiAngle() const
G4double GetCubicVolume()
G4double GetDeltaThetaAngle() const
void DescribeYourselfTo(G4VGraphicsScene &scene) const