Geant4
10.02.p02
|
#include <G4GenericTrap.hh>
Protected Attributes | |
G4bool | fRebuildPolyhedron |
G4Polyhedron * | fpPolyhedron |
Protected Attributes inherited from G4VSolid | |
G4double | kCarTolerance |
Private Types | |
enum | ESide { kUndefined, kXY0, kXY1, kXY2, kXY3, kMZ, kPZ } |
Private Attributes | |
G4double | halfCarTolerance |
G4double | fDz |
std::vector< G4TwoVector > | fVertices |
G4bool | fIsTwisted |
G4double | fTwist [4] |
G4TessellatedSolid * | fTessellatedSolid |
G4ThreeVector | fMinBBoxVector |
G4ThreeVector | fMaxBBoxVector |
G4int | fVisSubdivisions |
G4double | fSurfaceArea |
G4double | fCubicVolume |
Static Private Attributes | |
static const G4int | fgkNofVertices = 8 |
static const G4double | fgkTolerance = 1E-3 |
Additional Inherited Members | |
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 |
Definition at line 88 of file G4GenericTrap.hh.
|
private |
Enumerator | |
---|---|
kUndefined | |
kXY0 | |
kXY1 | |
kXY2 | |
kXY3 | |
kMZ | |
kPZ |
Definition at line 223 of file G4GenericTrap.hh.
G4GenericTrap::G4GenericTrap | ( | const G4String & | name, |
G4double | halfZ, | ||
const std::vector< G4TwoVector > & | vertices | ||
) |
Definition at line 76 of file G4GenericTrap.cc.
References CheckOrder(), ComputeBBox(), ComputeIsTwisted(), CreateTessellatedSolid(), FatalErrorInArgument, fgkNofVertices, fIsTwisted, fTessellatedSolid, fTwist, fVertices, G4endl, G4Exception(), halfCarTolerance, JustWarning, G4VSolid::kCarTolerance, and name.
Referenced by Clone().
G4GenericTrap::~G4GenericTrap | ( | ) |
Definition at line 191 of file G4GenericTrap.cc.
References fTessellatedSolid.
G4GenericTrap::G4GenericTrap | ( | __void__ & | a | ) |
Definition at line 170 of file G4GenericTrap.cc.
G4GenericTrap::G4GenericTrap | ( | const G4GenericTrap & | rhs | ) |
Definition at line 199 of file G4GenericTrap.cc.
References CreateTessellatedSolid(), fIsTwisted, fTessellatedSolid, and fTwist.
|
virtual |
Implements G4VSolid.
Definition at line 1210 of file G4GenericTrap.cc.
References G4TessellatedSolid::CalculateExtent(), G4VSolid::ClipBetweenSections(), G4VSolid::ClipCrossSection(), CreateRotatedVertices(), fTessellatedSolid, G4VoxelLimits::GetMaxExtent(), GetMaximumBBox(), G4VoxelLimits::GetMaxXExtent(), G4VoxelLimits::GetMaxYExtent(), G4VoxelLimits::GetMaxZExtent(), G4VoxelLimits::GetMinExtent(), GetMinimumBBox(), 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().
|
private |
Definition at line 1682 of file G4GenericTrap.cc.
References FatalException, fgkTolerance, G4Exception(), G4VSolid::GetName(), IsSegCrossing(), IsSegCrossingZ(), and JustWarning.
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1434 of file G4GenericTrap.cc.
References G4GenericTrap().
|
private |
Definition at line 2081 of file G4GenericTrap.cc.
References fDz, fgkNofVertices, fMaxBBoxVector, fMinBBoxVector, fVertices, and x.
Referenced by G4GenericTrap().
|
private |
Definition at line 1634 of file G4GenericTrap.cc.
References fgkNofVertices, fgkTolerance, fVertices, G4endl, G4Exception(), G4VSolid::GetName(), JustWarning, G4VSolid::kCarTolerance, pi, SetTwistAngle(), and x.
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2163 of file G4GenericTrap.cc.
References G4PolyhedronArbitrary::AddFacet(), G4PolyhedronArbitrary::AddVertex(), G4TessellatedSolid::CreatePolyhedron(), fDz, fIsTwisted, fTessellatedSolid, fVertices, GetMaximumBBox(), GetMinimumBBox(), GetTwistAngle(), GetVisSubdivisions(), G4PolyhedronArbitrary::InvertFacets(), G4PolyhedronArbitrary::SetReferences(), and x.
Referenced by GetPolyhedron().
|
private |
Definition at line 1382 of file G4GenericTrap.cc.
References FatalException, G4Exception(), GetMaximumBBox(), GetMinimumBBox(), and G4AffineTransform::TransformPoint().
Referenced by CalculateExtent().
|
private |
Definition at line 2020 of file G4GenericTrap.cc.
References G4TessellatedSolid::AddFacet(), fDz, fgkNofVertices, fVertices, G4VSolid::GetName(), MakeDownFacet(), MakeSideFacet(), MakeUpFacet(), ReorderVertices(), G4TessellatedSolid::SetSolidClosed(), and x.
Referenced by G4GenericTrap(), and operator=().
|
virtual |
Implements G4VSolid.
Definition at line 2128 of file G4GenericTrap.cc.
References G4VGraphicsScene::AddSolid(), G4TessellatedSolid::DescribeYourselfTo(), and fTessellatedSolid.
|
virtual |
Implements G4VSolid.
Definition at line 766 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), DistToPlane(), fDz, fTessellatedSolid, halfCarTolerance, Inside(), kInfinity, kOutside, and n.
|
virtual |
Implements G4VSolid.
Definition at line 834 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), fDz, fTessellatedSolid, and SafetyToFace().
|
virtual |
Implements G4VSolid.
Definition at line 938 of file G4GenericTrap.cc.
References a, G4TessellatedSolid::DistanceToOut(), DistToTriangle(), G4VSolid::DumpInfo(), fDz, fTessellatedSolid, fVertices, G4endl, G4Exception(), halfCarTolerance, InsidePolygone(), JustWarning, G4VSolid::kCarTolerance, kInfinity, kMZ, kOutside, kPZ, kUndefined, kXY0, kXY1, kXY2, kXY3, mm, and NormalToPlane().
|
virtual |
Implements G4VSolid.
Definition at line 1183 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToOut(), fDz, fTessellatedSolid, and SafetyToFace().
|
private |
Definition at line 608 of file G4GenericTrap.cc.
References a, fDz, fVertices, halfCarTolerance, Inside(), G4VSolid::kCarTolerance, kInfinity, kOutside, and NormalToPlane().
Referenced by DistanceToIn().
|
private |
Definition at line 883 of file G4GenericTrap.cc.
References a, fDz, fVertices, halfCarTolerance, Inside(), G4VSolid::kCarTolerance, kInfinity, kSurface, and NormalToPlane().
Referenced by DistanceToOut().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1552 of file G4GenericTrap.cc.
References fCubicVolume, and G4VSolid::GetCubicVolume().
|
virtual |
Implements G4VSolid.
Definition at line 1427 of file G4GenericTrap.cc.
Referenced by StreamInfo().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2143 of file G4GenericTrap.cc.
References fTessellatedSolid, G4TessellatedSolid::GetExtent(), GetMaximumBBox(), and GetMinimumBBox().
|
private |
Definition at line 1608 of file G4GenericTrap.cc.
References CLHEP::normal(), and w.
Referenced by GetPointOnSurface(), and GetSurfaceArea().
|
inlineprivate |
Referenced by CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), and GetExtent().
|
inlineprivate |
Referenced by CalculateExtent(), CreatePolyhedron(), CreateRotatedVertices(), and GetExtent().
|
inline |
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1464 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, fVertices, G4UniformRand, GetFaceSurfaceArea(), G4TessellatedSolid::GetPointOnSurface(), w, and x.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2102 of file G4GenericTrap.cc.
References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, fTessellatedSolid, G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), G4TessellatedSolid::GetPolyhedron(), and G4TemplateAutoLock< M, L, U >::unlock().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1561 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fSurfaceArea, fVertices, GetFaceSurfaceArea(), G4VSolid::GetSurfaceArea(), and x.
Referenced by CreatePolyhedron(), NormalToPlane(), and SurfaceNormal().
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Implements G4VSolid.
Definition at line 352 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, fVertices, halfCarTolerance, G4TessellatedSolid::Inside(), InsidePolygone(), kInside, kOutside, and kSurface.
Referenced by CalculateExtent(), DistanceToIn(), DistToPlane(), and DistToTriangle().
|
private |
Definition at line 251 of file G4GenericTrap.cc.
References halfCarTolerance, G4VSolid::kCarTolerance, kInside, kOutside, kSurface, and x.
Referenced by DistanceToOut(), and Inside().
|
private |
Definition at line 1778 of file G4GenericTrap.cc.
References a, a1, a2, b1, b2, fgkTolerance, and x.
Referenced by CheckOrder().
|
private |
Definition at line 1868 of file G4GenericTrap.cc.
References fDz, and G4VSolid::kCarTolerance.
Referenced by CheckOrder().
|
inline |
|
private |
Definition at line 1918 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1991 of file G4GenericTrap.cc.
References ABSOLUTE.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1954 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 523 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fTessellatedSolid, fVertices, GetTwistAngle(), halfCarTolerance, G4VSolid::kCarTolerance, G4TessellatedSolid::SurfaceNormal(), and x.
Referenced by DistanceToOut(), DistToPlane(), DistToTriangle(), and SafetyToFace().
G4GenericTrap & G4GenericTrap::operator= | ( | const G4GenericTrap & | rhs | ) |
Definition at line 218 of file G4GenericTrap.cc.
References CreateTessellatedSolid(), fCubicVolume, fDz, fIsTwisted, fMaxBBoxVector, fMinBBoxVector, fpPolyhedron, fRebuildPolyhedron, fSurfaceArea, fTessellatedSolid, fTwist, fVertices, fVisSubdivisions, halfCarTolerance, and G4VSolid::operator=().
|
private |
Definition at line 1763 of file G4GenericTrap.cc.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 864 of file G4GenericTrap.cc.
References fDz, fVertices, NormalToPlane(), and x.
Referenced by DistanceToIn(), and DistanceToOut().
|
inline |
|
virtual |
Implements G4VSolid.
Definition at line 1441 of file G4GenericTrap.cc.
References fDz, fgkNofVertices, fVertices, G4endl, GetEntityType(), G4VSolid::GetName(), and mm.
|
virtual |
Implements G4VSolid.
Definition at line 388 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fTessellatedSolid, fVertices, G4Exception(), GetTwistAngle(), halfCarTolerance, JustWarning, G4VSolid::kCarTolerance, G4TessellatedSolid::SurfaceNormal(), and x.
|
private |
Definition at line 227 of file G4GenericTrap.hh.
Referenced by GetCubicVolume(), and operator=().
|
private |
Definition at line 214 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), CreatePolyhedron(), CreateTessellatedSolid(), DistanceToIn(), DistanceToOut(), DistToPlane(), DistToTriangle(), GetPointOnSurface(), GetSurfaceArea(), Inside(), IsSegCrossingZ(), NormalToPlane(), operator=(), SafetyToFace(), StreamInfo(), and SurfaceNormal().
|
staticprivate |
Definition at line 207 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), ComputeIsTwisted(), CreateTessellatedSolid(), G4GenericTrap(), and StreamInfo().
|
staticprivate |
Definition at line 208 of file G4GenericTrap.hh.
Referenced by CheckOrder(), ComputeIsTwisted(), and IsSegCrossing().
|
private |
Definition at line 216 of file G4GenericTrap.hh.
Referenced by CreatePolyhedron(), G4GenericTrap(), GetSurfaceArea(), NormalToPlane(), operator=(), and SurfaceNormal().
|
private |
Definition at line 220 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), and operator=().
|
private |
Definition at line 219 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), and operator=().
|
mutableprotected |
Definition at line 201 of file G4GenericTrap.hh.
Referenced by GetPolyhedron(), and operator=().
|
mutableprotected |
Definition at line 200 of file G4GenericTrap.hh.
Referenced by GetPolyhedron(), and operator=().
|
private |
Definition at line 226 of file G4GenericTrap.hh.
Referenced by GetSurfaceArea(), and operator=().
|
private |
Definition at line 218 of file G4GenericTrap.hh.
Referenced by CalculateExtent(), CreatePolyhedron(), DescribeYourselfTo(), DistanceToIn(), DistanceToOut(), G4GenericTrap(), GetExtent(), GetPointOnSurface(), GetPolyhedron(), Inside(), NormalToPlane(), operator=(), SurfaceNormal(), and ~G4GenericTrap().
|
private |
Definition at line 217 of file G4GenericTrap.hh.
Referenced by G4GenericTrap(), and operator=().
|
private |
Definition at line 215 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), ComputeIsTwisted(), CreatePolyhedron(), CreateTessellatedSolid(), DistanceToOut(), DistToPlane(), DistToTriangle(), G4GenericTrap(), GetPointOnSurface(), GetSurfaceArea(), Inside(), NormalToPlane(), operator=(), SafetyToFace(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 221 of file G4GenericTrap.hh.
Referenced by operator=().
|
private |
Definition at line 210 of file G4GenericTrap.hh.
Referenced by DistanceToIn(), DistanceToOut(), DistToPlane(), DistToTriangle(), G4GenericTrap(), Inside(), InsidePolygone(), NormalToPlane(), operator=(), and SurfaceNormal().