Geant4
10.02.p02
|
#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 |
G4ThreeVectorList * | CreateRotatedVertices (const G4AffineTransform &pTransform, G4int &noPolygonVertices) 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 111 of file G4Torus.hh.
|
private |
Enumerator | |
---|---|
kNRMin | |
kNRMax | |
kNSPhi | |
kNEPhi |
Definition at line 209 of file G4Torus.hh.
|
private |
Enumerator | |
---|---|
kNull | |
kRMin | |
kRMax | |
kSPhi | |
kEPhi |
Definition at line 206 of file G4Torus.hh.
G4Torus::G4Torus | ( | const G4String & | pName, |
G4double | pRmin, | ||
G4double | pRmax, | ||
G4double | pRtor, | ||
G4double | pSPhi, | ||
G4double | pDPhi | ||
) |
Definition at line 82 of file G4Torus.cc.
References SetAllParameters().
Referenced by Clone().
G4Torus::~G4Torus | ( | ) |
Definition at line 195 of file G4Torus.cc.
G4Torus::G4Torus | ( | __void__ & | a | ) |
Definition at line 183 of file G4Torus.cc.
G4Torus::G4Torus | ( | const G4Torus & | rhs | ) |
Definition at line 202 of file G4Torus.cc.
|
private |
Definition at line 882 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 416 of file G4Torus.cc.
References G4VSolid::ClipBetweenSections(), G4VSolid::ClipCrossSection(), CreateRotatedVertices(), fDPhi, fRmax, fRmin, fRtor, G4VoxelLimits::GetMaxExtent(), G4VoxelLimits::GetMaxXExtent(), G4VoxelLimits::GetMaxYExtent(), G4VoxelLimits::GetMaxZExtent(), G4VoxelLimits::GetMinExtent(), G4VoxelLimits::GetMinXExtent(), G4VoxelLimits::GetMinYExtent(), G4VoxelLimits::GetMinZExtent(), Inside(), G4AffineTransform::Inverse(), G4AffineTransform::IsRotated(), G4VoxelLimits::IsXLimited(), G4VoxelLimits::IsYLimited(), G4VoxelLimits::IsZLimited(), G4VSolid::kCarTolerance, kInfinity, kOutside, kXAxis, kYAxis, kZAxis, G4AffineTransform::NetTranslation(), G4AffineTransform::TransformPoint(), and twopi.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1702 of file G4Torus.cc.
References G4Torus().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 243 of file G4Torus.cc.
References G4VPVParameterisation::ComputeDimensions().
|
virtual |
|
private |
Definition at line 1615 of file G4Torus.cc.
References G4VSolid::DumpInfo(), FatalException, fDPhi, fRmax, fRtor, fSPhi, G4Exception(), kMaxMeshSections, kMeshAngleDefault, kMinMeshSections, G4AffineTransform::TransformPoint(), and twopi.
Referenced by CalculateExtent().
|
virtual |
Implements G4VSolid.
Definition at line 1782 of file G4Torus.cc.
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 991 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 1189 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 1541 of file G4Torus.cc.
References G4VSolid::DumpInfo(), fDPhi, fRmax, fRmin, fRtor, fSPhi, G4cout, G4endl, G4Exception(), Inside(), JustWarning, kOutside, mm, and twopi.
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
virtual |
Implements G4VSolid.
Definition at line 1693 of file G4Torus.cc.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1734 of file G4Torus.cc.
References fDPhi, fRmax, fRmin, fRtor, fSPhi, G4CSGSolid::GetRadiusInRing(), pi, G4INCL::DeJongSpin::shoot(), and twopi.
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), SolveNumericJT(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
inline |
Referenced by export_G4Torus(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Torus_dimensionsWrite(), and G4GDMLWriteSolids::TorusWrite().
|
virtual |
Implements G4VSolid.
Definition at line 636 of file G4Torus.cc.
References fDPhi, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, halfAngTolerance, kInside, kOutside, kSurface, and twopi.
Referenced by CalculateExtent(), DistanceToOut(), and SurfaceNormal().
Definition at line 216 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 98 of file G4Torus.cc.
References e2, e3, 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 297 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 1711 of file G4Torus.cc.
References degree, fDPhi, fRmax, fRmin, fRtor, fSPhi, G4VSolid::GetName(), and mm.
|
virtual |
Implements G4VSolid.
Definition at line 747 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 257 of file G4Torus.cc.
References G4JTPolynomialSolver::FindRoots(), and fRtor.
Referenced by SolveNumericJT().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 211 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 211 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), SurfaceNormal(), and TorusRootsJT().
|
private |
Definition at line 203 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 214 of file G4Torus.hh.
Referenced by DistanceToOut(), Inside(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 214 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 211 of file G4Torus.hh.
Referenced by operator=(), SetAllParameters(), and SurfaceNormal().
|
private |
Definition at line 211 of file G4Torus.hh.
Referenced by operator=(), and SetAllParameters().