Geant4
10.01.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 |
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 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.
|
private |
Definition at line 880 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 414 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 1700 of file G4Torus.cc.
References G4Torus().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 241 of file G4Torus.cc.
References G4VPVParameterisation::ComputeDimensions().
|
virtual |
|
private |
Definition at line 1613 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 1780 of file G4Torus.cc.
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 989 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 1187 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 1539 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 1691 of file G4Torus.cc.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1732 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 634 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 214 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 96 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, and G4INCL::Math::max().
Referenced by G4GDMLParameterisation::ComputeDimensions(), and G4Torus().
|
private |
Definition at line 295 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 1709 of file G4Torus.cc.
References degree, fDPhi, fRmax, fRmin, fRtor, fSPhi, G4VSolid::GetName(), and mm.
|
virtual |
Implements G4VSolid.
Definition at line 745 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 255 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().