Geant4
10.01.p02
|
#include <G4Hype.hh>
Protected Types | |
enum | ESide { outerFace, innerFace, leftCap, rightCap } |
Protected Member Functions | |
G4bool | InnerSurfaceExists () const |
G4double | HypeInnerRadius2 (G4double zVal) const |
G4double | HypeOuterRadius2 (G4double zVal) 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 |
Static Protected Member Functions | |
static G4double | ApproxDistOutside (G4double pr, G4double pz, G4double r0, G4double tanPhi) |
static G4double | ApproxDistInside (G4double pr, G4double pz, G4double r0, G4double tan2Phi) |
static G4int | IntersectHype (const G4ThreeVector &p, const G4ThreeVector &v, G4double r2, G4double tan2Phi, G4double s[2]) |
static void | AddPolyToExtent (const G4ThreeVector &v0, const G4ThreeVector &v1, const G4ThreeVector &w1, const G4ThreeVector &w0, const G4VoxelLimits &voxelLimit, const EAxis axis, G4SolidExtentList &extentList) |
Protected Attributes | |
G4double | innerRadius |
G4double | outerRadius |
G4double | halfLenZ |
G4double | innerStereo |
G4double | outerStereo |
G4double | tanInnerStereo |
G4double | tanOuterStereo |
G4double | tanInnerStereo2 |
G4double | tanOuterStereo2 |
G4double | innerRadius2 |
G4double | outerRadius2 |
G4double | endInnerRadius2 |
G4double | endOuterRadius2 |
G4double | endInnerRadius |
G4double | endOuterRadius |
Protected Attributes inherited from G4VSolid | |
G4double | kCarTolerance |
Private Member Functions | |
G4double | asinh (G4double arg) |
Private Attributes | |
G4double | fCubicVolume |
G4double | fSurfaceArea |
G4double | fHalfTol |
G4bool | fRebuildPolyhedron |
G4Polyhedron * | fpPolyhedron |
|
protected |
G4Hype::G4Hype | ( | const G4String & | pName, |
G4double | newInnerRadius, | ||
G4double | newOuterRadius, | ||
G4double | newInnerStereo, | ||
G4double | newOuterStereo, | ||
G4double | newHalfLenZ | ||
) |
Definition at line 74 of file G4Hype.cc.
References FatalErrorInArgument, fHalfTol, G4endl, G4Exception(), G4VSolid::GetName(), halfLenZ, innerRadius, innerRadius2, G4VSolid::kCarTolerance, mm, outerRadius, outerRadius2, SetInnerStereo(), and SetOuterStereo().
Referenced by Clone().
|
virtual |
Definition at line 152 of file G4Hype.cc.
References fpPolyhedron.
|
staticprotected |
Definition at line 487 of file G4Hype.cc.
References G4SolidExtentList::AddSurface(), G4ClippablePolygon::AddVertexInOrder(), G4ClippablePolygon::PartialClip(), and G4ClippablePolygon::SetNormal().
Referenced by CalculateExtent().
|
staticprotected |
Definition at line 1338 of file G4Hype.cc.
References DBL_MIN.
Referenced by DistanceToIn(), and DistanceToOut().
|
staticprotected |
Definition at line 1280 of file G4Hype.cc.
Referenced by DistanceToIn(), and DistanceToOut().
|
virtual |
Implements G4VSolid.
Definition at line 223 of file G4Hype.cc.
References AddPolyToExtent(), G4SolidExtentList::AddSurface(), G4ClippablePolygon::AddVertexInOrder(), G4AffineTransform::ApplyPointTransform(), endInnerRadius, endOuterRadius, G4SolidExtentList::GetExtent(), halfLenZ, innerRadius, InnerSurfaceExists(), kMaxMeshSections, CLHEP::normal(), outerRadius, G4ClippablePolygon::PartialClip(), G4ClippablePolygon::SetNormal(), tanInnerStereo2, G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().
|
virtual |
|
virtual |
Reimplemented from G4VSolid.
Definition at line 212 of file G4Hype.cc.
References G4VPVParameterisation::ComputeDimensions().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1551 of file G4Hype.cc.
References halfLenZ, innerRadius, outerRadius, tanInnerStereo2, and tanOuterStereo2.
Referenced by GetPolyhedron().
|
virtual |
Implements G4VSolid.
Definition at line 1529 of file G4Hype.cc.
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 603 of file G4Hype.cc.
References DBL_EPSILON, DBL_MIN, endInnerRadius, endInnerRadius2, endOuterRadius, endOuterRadius2, fHalfTol, halfLenZ, HypeInnerRadius2(), HypeOuterRadius2(), innerRadius2, innerStereo, InnerSurfaceExists(), IntersectHype(), G4VSolid::kCarTolerance, kInfinity, n, outerRadius2, tanInnerStereo2, and tanOuterStereo2.
|
virtual |
Implements G4VSolid.
Definition at line 898 of file G4Hype.cc.
References ApproxDistInside(), ApproxDistOutside(), endInnerRadius, endOuterRadius, fHalfTol, halfLenZ, HypeInnerRadius2(), innerRadius, InnerSurfaceExists(), G4VSolid::kCarTolerance, outerRadius, tanInnerStereo2, tanOuterStereo, and tanOuterStereo2.
|
virtual |
Implements G4VSolid.
Definition at line 979 of file G4Hype.cc.
References DBL_MIN, endInnerRadius, endOuterRadius, fHalfTol, halfLenZ, HypeInnerRadius2(), HypeOuterRadius2(), innerRadius2, InnerSurfaceExists(), IntersectHype(), G4VSolid::kCarTolerance, kInfinity, n, outerRadius2, tanInnerStereo2, and tanOuterStereo2.
|
virtual |
Implements G4VSolid.
Definition at line 1150 of file G4Hype.cc.
References ApproxDistInside(), ApproxDistOutside(), halfLenZ, innerRadius, InnerSurfaceExists(), G4VSolid::kCarTolerance, outerRadius, tanInnerStereo, and tanOuterStereo2.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1380 of file G4Hype.cc.
References fCubicVolume, and G4VSolid::GetCubicVolume().
|
virtual |
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1538 of file G4Hype.cc.
References endOuterRadius, and halfLenZ.
|
inline |
Referenced by export_G4Hype(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
|
inline |
Referenced by export_G4Hype(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
|
inline |
Referenced by export_G4Hype(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
|
inline |
Referenced by export_G4Hype(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1426 of file G4Hype.cc.
References alpha, halfLenZ, innerRadius, innerRadius2, innerStereo, outerRadius, outerRadius2, outerStereo, G4INCL::Math::pi, G4INCL::DeJongSpin::shoot(), sqr(), tanInnerStereo, tanInnerStereo2, tanOuterStereo, and tanOuterStereo2.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1561 of file G4Hype.cc.
References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< M, L, U >::unlock().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1391 of file G4Hype.cc.
References fSurfaceArea, and G4VSolid::GetSurfaceArea().
|
inline |
Referenced by export_G4Hype(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
Referenced by DistanceToIn(), DistanceToOut(), Inside(), and SurfaceNormal().
Referenced by DistanceToIn(), DistanceToOut(), Inside(), and SurfaceNormal().
|
inlineprotected |
Referenced by CalculateExtent(), DistanceToIn(), DistanceToOut(), Inside(), and SurfaceNormal().
|
virtual |
Implements G4VSolid.
Definition at line 513 of file G4Hype.cc.
References endInnerRadius, endOuterRadius, fHalfTol, halfLenZ, HypeInnerRadius2(), HypeOuterRadius2(), InnerSurfaceExists(), G4VSolid::kCarTolerance, kInside, kOutside, and kSurface.
|
staticprotected |
Definition at line 1213 of file G4Hype.cc.
References a, DBL_MIN, and G4InuclParticleNames::z0.
Referenced by DistanceToIn(), and DistanceToOut().
Definition at line 179 of file G4Hype.cc.
References endInnerRadius, endInnerRadius2, endOuterRadius, endOuterRadius2, fCubicVolume, fHalfTol, fpPolyhedron, fRebuildPolyhedron, fSurfaceArea, halfLenZ, innerRadius, innerRadius2, innerStereo, G4VSolid::operator=(), outerRadius, outerRadius2, outerStereo, tanInnerStereo, tanInnerStereo2, tanOuterStereo, and tanOuterStereo2.
|
inline |
Referenced by G4GDMLParameterisation::ComputeDimensions(), and export_G4Hype().
|
inline |
Referenced by G4GDMLParameterisation::ComputeDimensions(), export_G4Hype(), and G4Hype().
|
inline |
Referenced by G4GDMLParameterisation::ComputeDimensions(), and export_G4Hype().
|
inline |
Referenced by G4GDMLParameterisation::ComputeDimensions(), export_G4Hype(), and G4Hype().
|
inline |
Referenced by G4GDMLParameterisation::ComputeDimensions(), and export_G4Hype().
|
virtual |
Implements G4VSolid.
Definition at line 1402 of file G4Hype.cc.
References degree, G4VSolid::GetName(), halfLenZ, innerRadius, innerStereo, mm, outerRadius, and outerStereo.
|
virtual |
Implements G4VSolid.
Definition at line 557 of file G4Hype.cc.
References halfLenZ, HypeInnerRadius2(), HypeOuterRadius2(), InnerSurfaceExists(), tanInnerStereo2, and tanOuterStereo2.
|
protected |
Definition at line 184 of file G4Hype.hh.
Referenced by CalculateExtent(), DistanceToIn(), DistanceToOut(), Inside(), and operator=().
|
protected |
Definition at line 182 of file G4Hype.hh.
Referenced by DistanceToIn(), and operator=().
|
protected |
Definition at line 185 of file G4Hype.hh.
Referenced by CalculateExtent(), DistanceToIn(), DistanceToOut(), GetExtent(), Inside(), and operator=().
|
protected |
Definition at line 183 of file G4Hype.hh.
Referenced by DistanceToIn(), and operator=().
|
private |
Definition at line 197 of file G4Hype.hh.
Referenced by GetCubicVolume(), and operator=().
|
private |
Definition at line 200 of file G4Hype.hh.
Referenced by DistanceToIn(), DistanceToOut(), G4Hype(), Inside(), and operator=().
|
mutableprivate |
Definition at line 203 of file G4Hype.hh.
Referenced by GetPolyhedron(), operator=(), and ~G4Hype().
|
mutableprivate |
Definition at line 202 of file G4Hype.hh.
Referenced by GetPolyhedron(), and operator=().
|
private |
Definition at line 198 of file G4Hype.hh.
Referenced by GetSurfaceArea(), and operator=().
|
protected |
Definition at line 170 of file G4Hype.hh.
Referenced by CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), G4Hype(), GetExtent(), GetPointOnSurface(), Inside(), operator=(), StreamInfo(), and SurfaceNormal().
|
protected |
Definition at line 168 of file G4Hype.hh.
Referenced by CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), G4Hype(), GetPointOnSurface(), operator=(), and StreamInfo().
|
protected |
Definition at line 180 of file G4Hype.hh.
Referenced by DistanceToIn(), DistanceToOut(), G4Hype(), GetPointOnSurface(), and operator=().
|
protected |
Definition at line 171 of file G4Hype.hh.
Referenced by DistanceToIn(), GetPointOnSurface(), operator=(), and StreamInfo().
|
protected |
Definition at line 169 of file G4Hype.hh.
Referenced by CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), G4Hype(), GetPointOnSurface(), operator=(), and StreamInfo().
|
protected |
Definition at line 181 of file G4Hype.hh.
Referenced by DistanceToIn(), DistanceToOut(), G4Hype(), GetPointOnSurface(), and operator=().
|
protected |
Definition at line 172 of file G4Hype.hh.
Referenced by GetPointOnSurface(), operator=(), and StreamInfo().
|
protected |
Definition at line 176 of file G4Hype.hh.
Referenced by DistanceToOut(), GetPointOnSurface(), and operator=().
|
protected |
Definition at line 178 of file G4Hype.hh.
Referenced by CalculateExtent(), CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), operator=(), and SurfaceNormal().
|
protected |
Definition at line 177 of file G4Hype.hh.
Referenced by DistanceToIn(), GetPointOnSurface(), and operator=().
|
protected |
Definition at line 179 of file G4Hype.hh.
Referenced by CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), operator=(), and SurfaceNormal().