Geant4
10.03
|
#include <G4Torus.hh>
Private Types | |
enum | ESide { kNull, kRMin, kRMax, kSPhi, kEPhi } |
enum | ENorm { kNRMin, kNRMax, kNSPhi, kNEPhi } |
Private Member Functions | |
void | TorusRootsJT (const G4ThreeVector &p, const G4ThreeVector &v, G4double r, std::vector< G4double > &roots) const |
G4double | SolveNumericJT (const G4ThreeVector &p, const G4ThreeVector &v, G4double r, G4bool IsDistanceToIn) const |
G4ThreeVector | ApproxSurfaceNormal (const G4ThreeVector &p) const |
Additional Inherited Members | |
Protected Member Functions inherited from G4CSGSolid | |
G4double | GetRadiusInRing (G4double rmin, G4double rmax) const |
Protected Member Functions inherited from G4VSolid | |
void | CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const |
Protected Attributes inherited from G4CSGSolid | |
G4double | fCubicVolume |
G4double | fSurfaceArea |
G4bool | fRebuildPolyhedron |
G4Polyhedron * | fpPolyhedron |
Protected Attributes inherited from G4VSolid | |
G4double | kCarTolerance |
Definition at line 102 of file G4Torus.hh.
|
private |
Enumerator | |
---|---|
kNRMin | |
kNRMax | |
kNSPhi | |
kNEPhi |
Definition at line 201 of file G4Torus.hh.
|
private |
Enumerator | |
---|---|
kNull | |
kRMin | |
kRMax | |
kSPhi | |
kEPhi |
Definition at line 198 of file G4Torus.hh.
G4Torus::G4Torus | ( | const G4String & | pName, |
G4double | pRmin, | ||
G4double | pRmax, | ||
G4double | pRtor, | ||
G4double | pSPhi, | ||
G4double | pDPhi | ||
) |
Definition at line 86 of file G4Torus.cc.
References SetAllParameters().
Referenced by Clone().
G4Torus::~G4Torus | ( | ) |
Definition at line 199 of file G4Torus.cc.
G4Torus::G4Torus | ( | __void__ & | a | ) |
Definition at line 187 of file G4Torus.cc.
G4Torus::G4Torus | ( | const G4Torus & | rhs | ) |
Definition at line 206 of file G4Torus.cc.
|
private |
Definition at line 846 of file G4Torus.cc.
References G4VSolid::DumpInfo(), fDPhi, fRmax, fRmin, fRtor, fSPhi, G4cout, G4endl, G4Exception(), JustWarning, kNEPhi, kNRMax, kNRMin, kNSPhi, and twopi.
Referenced by SurfaceNormal().
|
virtual |
Implements G4VSolid.
Definition at line 464 of file G4Torus.cc.
References G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4BoundingEnvelope::CalculateExtent(), deg, G4GeomTools::DiskExtent(), emax, Extent(), GetCosEndPhi(), GetCosStartPhi(), GetDPhi(), G4VoxelLimits::GetMaxExtent(), G4VoxelLimits::GetMinExtent(), GetRmax(), GetRmin(), GetRtor(), GetSinEndPhi(), GetSinStartPhi(), kInfinity, and pi.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1580 of file G4Torus.cc.
References G4Torus().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 247 of file G4Torus.cc.
References G4VPVParameterisation::ComputeDimensions().
|
virtual |
|
virtual |
Implements G4VSolid.
Definition at line 1660 of file G4Torus.cc.
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 955 of file G4Torus.cc.
References fDPhi, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, halfCarTolerance, kInfinity, SolveNumericJT(), and twopi.
Referenced by SurfaceNormal().
|
virtual |
|
virtual |
Implements G4VSolid.
Definition at line 1153 of file G4Torus.cc.
References G4VSolid::DumpInfo(), fDPhi, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, G4cout, G4endl, G4Exception(), halfAngTolerance, halfCarTolerance, JustWarning, G4VSolid::kCarTolerance, kEPhi, kInfinity, kNull, kRMax, kRMin, kSPhi, mm, pi, SolveNumericJT(), and twopi.
Referenced by SurfaceNormal().
|
virtual |
Implements G4VSolid.
Definition at line 1505 of file G4Torus.cc.
References G4VSolid::DumpInfo(), fDPhi, fRmax, fRmin, fRtor, fSPhi, G4cout, G4endl, G4Exception(), Inside(), JustWarning, kOutside, mm, and twopi.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 420 of file G4Torus.cc.
References G4GeomTools::DiskExtent(), G4VSolid::DumpInfo(), G4Exception(), GetCosEndPhi(), GetCosStartPhi(), GetDPhi(), G4VSolid::GetName(), GetRmax(), GetRtor(), GetSinEndPhi(), GetSinStartPhi(), JustWarning, and twopi.
Referenced by CalculateExtent().
|
inline |
|
inline |
|
inline |
Referenced by CalculateExtent(), export_G4Torus(), Extent(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
virtual |
Implements G4VSolid.
Definition at line 1571 of file G4Torus.cc.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1612 of file G4Torus.cc.
References fDPhi, fRmax, fRmin, fRtor, fSPhi, G4CSGSolid::GetRadiusInRing(), pi, G4INCL::DeJongSpin::shoot(), and twopi.
|
inline |
Referenced by CalculateExtent(), export_G4Torus(), Extent(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
Referenced by CalculateExtent(), export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), SolveNumericJT(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
Referenced by CalculateExtent(), export_G4Torus(), Extent(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
|
inline |
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
virtual |
Implements G4VSolid.
Definition at line 602 of file G4Torus.cc.
References fDPhi, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, halfAngTolerance, kInside, kOutside, kSurface, and twopi.
Referenced by DistanceToOut(), and SurfaceNormal().
Definition at line 220 of file G4Torus.cc.
References fDPhi, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, halfAngTolerance, halfCarTolerance, kAngTolerance, kRadTolerance, and G4CSGSolid::operator=().
void G4Torus::SetAllParameters | ( | G4double | pRmin, |
G4double | pRmax, | ||
G4double | pRtor, | ||
G4double | pSPhi, | ||
G4double | pDPhi | ||
) |
Definition at line 102 of file G4Torus.cc.
References FatalException, G4CSGSolid::fCubicVolume, fDPhi, G4CSGSolid::fRebuildPolyhedron, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, G4CSGSolid::fSurfaceArea, G4endl, G4Exception(), G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4VSolid::GetName(), G4GeometryTolerance::GetRadialTolerance(), halfAngTolerance, halfCarTolerance, kAngTolerance, G4VSolid::kCarTolerance, kRadTolerance, G4INCL::Math::max(), and twopi.
Referenced by G4GDMLParameterisation::ComputeDimensions(), and G4Torus().
|
private |
Definition at line 301 of file G4Torus.cc.
References fDPhi, fRtor, fSPhi, GetRmin(), halfAngTolerance, halfCarTolerance, kInfinity, mm, pi, TorusRootsJT(), and twopi.
Referenced by DistanceToIn(), and DistanceToOut().
|
virtual |
Reimplemented from G4CSGSolid.
Definition at line 1589 of file G4Torus.cc.
References degree, fDPhi, fRmax, fRmin, fRtor, fSPhi, G4VSolid::GetName(), and mm.
|
virtual |
Implements G4VSolid.
Definition at line 713 of file G4Torus.cc.
References ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), fDPhi, fRmax, fRmin, fRtor, fSPhi, G4endl, G4Exception(), Inside(), JustWarning, kAngTolerance, G4VSolid::kCarTolerance, kInfinity, kInside, kOutside, kSurface, G4INCL::Math::max(), and twopi.
|
private |
Definition at line 261 of file G4Torus.cc.
References G4JTPolynomialSolver::FindRoots(), and fRtor.
Referenced by SolveNumericJT().
|
private |
Definition at line 195 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 195 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 195 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 195 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), SurfaceNormal(), and TorusRootsJT().
|
private |
Definition at line 195 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 206 of file G4Torus.hh.
Referenced by DistanceToOut(), Inside(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 206 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by operator=(), SetAllParameters(), and SurfaceNormal().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by operator=(), and SetAllParameters().