78#if defined(G4GEOM_USE_USOLIDS)
79#define G4GEOM_USE_UTORUS 1
82#if (defined(G4GEOM_USE_UTORUS) && defined(G4GEOM_USE_SYS_USOLIDS))
83 #define G4UTorus G4Torus
136 const G4bool calcNorm =
false,
137 G4bool* validNorm =
nullptr,
147 std::ostream&
StreamInfo(std::ostream& os)
const override;
171 std::vector<G4double>& roots)
const ;
176 G4bool IsDistanceToIn)
const;
184 G4double fRmin,fRmax,fRtor,fSPhi,fDPhi;
187 enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi};
190 enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi};
192 G4double fRminTolerance, fRmaxTolerance, kRadTolerance, kAngTolerance;
195 G4double halfCarTolerance, halfAngTolerance;
200#include "G4Torus.icc"
G4Torus & operator=(const G4Torus &rhs)
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4double GetSinEndPhi() const
G4Torus(const G4Torus &rhs)
std::ostream & StreamInfo(std::ostream &os) const override
G4ThreeVector GetPointOnSurface() const override
G4VSolid * Clone() const override
void SetAllParameters(G4double pRmin, G4double pRmax, G4double pRtor, G4double pSPhi, G4double pDPhi)
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
EInside Inside(const G4ThreeVector &p) const override
G4GeometryType GetEntityType() const override
G4double GetSurfaceArea() override
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const override
G4double GetCubicVolume() override
G4Polyhedron * CreatePolyhedron() const override
G4Torus(const G4String &pName, G4double pRmin, G4double pRmax, G4double pRtor, G4double pSPhi, G4double pDPhi)
void DescribeYourselfTo(G4VGraphicsScene &scene) const override
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const override
G4double GetCosStartPhi() const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4double GetCosEndPhi() const
G4double GetSinStartPhi() const