72 #if defined(G4GEOM_USE_USOLIDS)
73 #define G4GEOM_USE_USPHERE 1
76 #if defined(G4GEOM_USE_USPHERE)
77 #define G4USphere G4Sphere
168 std::ostream&
StreamInfo(std::ostream& os)
const;
201 inline void Initialize();
206 inline void CheckSPhiAngle(
G4double sPhi);
207 inline void CheckDPhiAngle(
G4double dPhi);
212 inline void InitializePhiTrigonometry();
213 inline void InitializeThetaTrigonometry();
226 enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta};
230 enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta};
232 G4double fRminTolerance, fRmaxTolerance, kAngTolerance,
233 kRadTolerance, fEpsilon;
237 G4double fRmin, fRmax, fSPhi, fDPhi, fSTheta, fDTheta;
241 G4double sinCPhi, cosCPhi, cosHDPhiOT, cosHDPhiIT,
242 sinSPhi, cosSPhi, sinEPhi, cosEPhi, hDPhi, cPhi, ePhi;
246 G4double sinSTheta, cosSTheta, sinETheta, cosETheta,
247 tanSTheta, tanSTheta2, tanETheta, tanETheta2, eTheta;
251 G4bool fFullPhiSphere, fFullThetaSphere, fFullSphere;
255 G4double halfCarTolerance, halfAngTolerance;
260 #include "G4Sphere.icc"
G4double GetCosStartTheta() const
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const
void SetStartPhiAngle(G4double newSphi, G4bool trig=true)
G4double GetSinStartPhi() const
G4double GetCosEndTheta() const
G4double GetSinEndTheta() const
G4Polyhedron * CreatePolyhedron() const
G4double GetInsideRadius() const
G4double GetSinStartTheta() 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
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)
G4double GetCosStartPhi() const
G4VisExtent GetExtent() const
G4double GetSurfaceArea()
void SetInnerRadius(G4double newRMin)
G4double GetSTheta() const
G4double GetSinEndPhi() const
void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
G4double GetOuterRadius() const
G4double GetStartPhiAngle() const
G4double GetCubicVolume()
G4double GetDeltaThetaAngle() const
G4double GetCosEndPhi() const
void DescribeYourselfTo(G4VGraphicsScene &scene) const