Geant4
10.00.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 |
G4double | EstimateCubicVolume (G4int nStat, G4double epsilon) const |
G4double | EstimateSurfaceArea (G4int nStat, G4double ell) const |
Protected Attributes inherited from G4CSGSolid | |
G4double | fCubicVolume |
G4double | fSurfaceArea |
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 200 of file G4Torus.hh.
|
private |
Enumerator | |
---|---|
kNull | |
kRMin | |
kRMax | |
kSPhi | |
kEPhi |
Definition at line 197 of file G4Torus.hh.
G4Torus::G4Torus | ( | const G4String & | pName, |
G4double | pRmin, | ||
G4double | pRmax, | ||
G4double | pRtor, | ||
G4double | pSPhi, | ||
G4double | pDPhi | ||
) |
Definition at line 80 of file G4Torus.cc.
References SetAllParameters().
Referenced by Clone().
G4Torus::~G4Torus | ( | ) |
Definition at line 193 of file G4Torus.cc.
G4Torus::G4Torus | ( | __void__ & | a | ) |
Definition at line 181 of file G4Torus.cc.
G4Torus::G4Torus | ( | const G4Torus & | rhs | ) |
Definition at line 200 of file G4Torus.cc.
References G4CSGSolid::fpPolyhedron, and G4CSGSolid::GetPolyhedron().
|
private |
Definition at line 882 of file G4Torus.cc.
References G4VSolid::DumpInfo(), fDPhi, fRmax, fRmin, fRtor, fSPhi, G4cout, G4endl, G4Exception(), JustWarning, kNEPhi, kNRMax, kNRMin, and kNSPhi.
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(), and G4AffineTransform::TransformPoint().
|
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, and G4AffineTransform::TransformPoint().
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, and SolveNumericJT().
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, G4INCL::Math::pi, and SolveNumericJT().
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, and mm.
|
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(), G4INCL::Math::pi, and G4INCL::DeJongSpin::shoot().
|
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, and kSurface.
Referenced by CalculateExtent(), DistanceToOut(), and SurfaceNormal().
Definition at line 215 of file G4Torus.cc.
References fDPhi, G4CSGSolid::fpPolyhedron, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, G4CSGSolid::GetPolyhedron(), halfAngTolerance, halfCarTolerance, kAngTolerance, kRadTolerance, and G4CSGSolid::operator=().
void G4Torus::SetAllParameters | ( | G4double | pRmin, |
G4double | pRmax, | ||
G4double | pRtor, | ||
G4double | pSPhi, | ||
G4double | pDPhi | ||
) |
Definition at line 96 of file G4Torus.cc.
References e2, e3, FatalException, G4CSGSolid::fCubicVolume, fDPhi, G4CSGSolid::fpPolyhedron, fRmax, fRmaxTolerance, fRmin, fRminTolerance, fRtor, fSPhi, G4CSGSolid::fSurfaceArea, G4endl, G4Exception(), G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4VSolid::GetName(), G4GeometryTolerance::GetRadialTolerance(), halfAngTolerance, halfCarTolerance, kAngTolerance, G4VSolid::kCarTolerance, kRadTolerance, and G4INCL::Math::max().
Referenced by G4GDMLParameterisation::ComputeDimensions(), and G4Torus().
|
private |
Definition at line 297 of file G4Torus.cc.
References fDPhi, fRtor, fSPhi, GetRmin(), halfAngTolerance, halfCarTolerance, kInfinity, mm, G4INCL::Math::pi, and TorusRootsJT().
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, and G4INCL::Math::max().
|
private |
Definition at line 257 of file G4Torus.cc.
References G4JTPolynomialSolver::FindRoots(), and fRtor.
Referenced by SolveNumericJT().
|
private |
Definition at line 194 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 194 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 202 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 194 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 202 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SetAllParameters().
|
private |
Definition at line 194 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 194 of file G4Torus.hh.
Referenced by ApproxSurfaceNormal(), CreatePolyhedron(), CreateRotatedVertices(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), operator=(), SetAllParameters(), SolveNumericJT(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 205 of file G4Torus.hh.
Referenced by DistanceToOut(), Inside(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 205 of file G4Torus.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SetAllParameters(), and SolveNumericJT().
|
private |
Definition at line 202 of file G4Torus.hh.
Referenced by operator=(), SetAllParameters(), and SurfaceNormal().
|
private |
Definition at line 202 of file G4Torus.hh.
Referenced by operator=(), and SetAllParameters().