60#if defined(G4GEOM_USE_USOLIDS)
61#define G4GEOM_USE_UTUBS 1
64#if defined(G4GEOM_USE_UTUBS)
65 #define G4UTubs G4Tubs
135 const G4bool calcNorm =
false,
136 G4bool* validNorm =
nullptr,
146 std::ostream&
StreamInfo( std::ostream& os )
const override;
void CheckPhiAngles(G4double sPhi, G4double dPhi)
virtual G4ThreeVector ApproxSurfaceNormal(const G4ThreeVector &p) const
G4Tubs(const G4String &pName, G4double pRMin, G4double pRMax, G4double pDz, G4double pSPhi, G4double pDPhi)
G4double GetZHalfLength() const
void CheckSPhiAngle(G4double sPhi)
void SetDeltaPhiAngle(G4double newDPhi)
void InitializeTrigonometry()
G4ThreeVector GetPointOnSurface() const override
void SetStartPhiAngle(G4double newSPhi, G4bool trig=true)
G4double GetSurfaceArea() override
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4double GetCosStartPhi() const
void DescribeYourselfTo(G4VGraphicsScene &scene) const override
G4double GetCosEndPhi() const
G4double GetInnerRadius() const
G4double GetCubicVolume() override
G4Tubs & operator=(const G4Tubs &rhs)
G4double GetOuterRadius() const
static constexpr G4double kNormTolerance
void CheckDPhiAngle(G4double dPhi)
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const override
G4double GetStartPhiAngle() const
EInside Inside(const G4ThreeVector &p) const override
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const override
G4Polyhedron * CreatePolyhedron() const override
G4double GetSinEndPhi() const
std::ostream & StreamInfo(std::ostream &os) const override
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const override
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
void SetInnerRadius(G4double newRMin)
void SetOuterRadius(G4double newRMax)
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
G4double FastInverseRxy(const G4ThreeVector &pos, G4double invRad, G4double normalTolerance) const
G4Tubs(const G4Tubs &rhs)
G4GeometryType GetEntityType() const override
G4double halfRadTolerance
G4double halfAngTolerance
G4double halfCarTolerance
G4double GetDeltaPhiAngle() const
G4double GetSinStartPhi() const
G4VSolid * Clone() const override
void SetZHalfLength(G4double newDz)