Geant4
10.03
|
#include <G4GenericTrap.hh>
Protected Attributes | |
G4bool | fRebuildPolyhedron |
G4Polyhedron * | fpPolyhedron |
![]() | |
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 | |
![]() | |
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 226 of file G4GenericTrap.hh.
G4GenericTrap::G4GenericTrap | ( | const G4String & | name, |
G4double | halfZ, | ||
const std::vector< G4TwoVector > & | vertices | ||
) |
Definition at line 81 of file G4GenericTrap.cc.
References CheckOrder(), ComputeBBox(), ComputeIsTwisted(), CreateTessellatedSolid(), FatalErrorInArgument, fgkNofVertices, fIsTwisted, fTessellatedSolid, fTwist, fVertices, G4endl, G4Exception(), halfCarTolerance, JustWarning, G4VSolid::kCarTolerance, and G4InuclParticleNames::name().
Referenced by Clone().
G4GenericTrap::~G4GenericTrap | ( | ) |
Definition at line 196 of file G4GenericTrap.cc.
References fTessellatedSolid.
G4GenericTrap::G4GenericTrap | ( | __void__ & | a | ) |
Definition at line 175 of file G4GenericTrap.cc.
G4GenericTrap::G4GenericTrap | ( | const G4GenericTrap & | rhs | ) |
Definition at line 204 of file G4GenericTrap.cc.
References CreateTessellatedSolid(), fIsTwisted, fTessellatedSolid, and fTwist.
|
virtual |
Implements G4VSolid.
Definition at line 1237 of file G4GenericTrap.cc.
References G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4BoundingEnvelope::CalculateExtent(), Extent(), GetVertex(), and GetZHalfLength().
|
private |
Definition at line 1552 of file G4GenericTrap.cc.
References FatalException, fgkTolerance, G4Exception(), G4VSolid::GetName(), IsSegCrossing(), IsSegCrossingZ(), and JustWarning.
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1303 of file G4GenericTrap.cc.
References G4GenericTrap().
|
private |
Definition at line 1951 of file G4GenericTrap.cc.
References fDz, fgkNofVertices, fMaxBBoxVector, fMinBBoxVector, and fVertices.
Referenced by G4GenericTrap().
|
private |
Definition at line 1504 of file G4GenericTrap.cc.
References fgkNofVertices, fgkTolerance, fVertices, G4endl, G4Exception(), G4VSolid::GetName(), JustWarning, G4VSolid::kCarTolerance, pi, and SetTwistAngle().
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2033 of file G4GenericTrap.cc.
References G4PolyhedronArbitrary::AddFacet(), G4PolyhedronArbitrary::AddVertex(), G4TessellatedSolid::CreatePolyhedron(), fDz, fIsTwisted, fTessellatedSolid, fVertices, GetMaximumBBox(), GetMinimumBBox(), GetTwistAngle(), GetVisSubdivisions(), G4PolyhedronArbitrary::InvertFacets(), and G4PolyhedronArbitrary::SetReferences().
Referenced by GetPolyhedron().
|
private |
Definition at line 1890 of file G4GenericTrap.cc.
References G4TessellatedSolid::AddFacet(), fDz, fgkNofVertices, fVertices, G4VSolid::GetName(), MakeDownFacet(), MakeSideFacet(), MakeUpFacet(), ReorderVertices(), and G4TessellatedSolid::SetSolidClosed().
Referenced by G4GenericTrap(), and operator=().
|
virtual |
Implements G4VSolid.
Definition at line 1998 of file G4GenericTrap.cc.
References G4VGraphicsScene::AddSolid(), G4TessellatedSolid::DescribeYourselfTo(), and fTessellatedSolid.
|
virtual |
Implements G4VSolid.
Definition at line 771 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), DistToPlane(), fDz, fTessellatedSolid, halfCarTolerance, Inside(), kInfinity, kOutside, and n.
|
virtual |
Implements G4VSolid.
Definition at line 839 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), fDz, fTessellatedSolid, and SafetyToFace().
|
virtual |
Implements G4VSolid.
Definition at line 943 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 1188 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToOut(), fDz, fTessellatedSolid, and SafetyToFace().
|
private |
Definition at line 613 of file G4GenericTrap.cc.
References a, fDz, fVertices, halfCarTolerance, Inside(), G4VSolid::kCarTolerance, kInfinity, kOutside, and NormalToPlane().
Referenced by DistanceToIn().
|
private |
Definition at line 888 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 1215 of file G4GenericTrap.cc.
References G4VSolid::DumpInfo(), G4Exception(), GetMaximumBBox(), GetMinimumBBox(), G4VSolid::GetName(), and JustWarning.
Referenced by CalculateExtent().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1451 of file G4GenericTrap.cc.
References fCubicVolume, fDz, fIsTwisted, fVertices, G4VSolid::GetCubicVolume(), and GetFaceCubicVolume().
|
virtual |
Implements G4VSolid.
Definition at line 1296 of file G4GenericTrap.cc.
Referenced by StreamInfo().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2013 of file G4GenericTrap.cc.
References fTessellatedSolid, G4TessellatedSolid::GetExtent(), GetMaximumBBox(), and GetMinimumBBox().
|
private |
Definition at line 1492 of file G4GenericTrap.cc.
Referenced by GetCubicVolume().
|
private |
Definition at line 1481 of file G4GenericTrap.cc.
Referenced by GetPointOnSurface(), and GetSurfaceArea().
|
inlineprivate |
Referenced by CreatePolyhedron(), Extent(), and GetExtent().
|
inlineprivate |
Referenced by CreatePolyhedron(), Extent(), and GetExtent().
|
inline |
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1333 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, fVertices, G4UniformRand, GetFaceSurfaceArea(), and G4TessellatedSolid::GetPointOnSurface().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1972 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 1421 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fSurfaceArea, fVertices, GetFaceSurfaceArea(), and G4VSolid::GetSurfaceArea().
Referenced by CreatePolyhedron(), NormalToPlane(), and SurfaceNormal().
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by CalculateExtent(), and G4GDMLWriteSolids::GenTrapWrite().
|
virtual |
Implements G4VSolid.
Definition at line 357 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, fVertices, halfCarTolerance, G4TessellatedSolid::Inside(), InsidePolygone(), kInside, kOutside, and kSurface.
Referenced by DistanceToIn(), DistToPlane(), and DistToTriangle().
|
private |
Definition at line 256 of file G4GenericTrap.cc.
References halfCarTolerance, G4VSolid::kCarTolerance, kInside, kOutside, and kSurface.
Referenced by DistanceToOut(), and Inside().
|
private |
Definition at line 1648 of file G4GenericTrap.cc.
References a, and fgkTolerance.
Referenced by CheckOrder().
|
private |
Definition at line 1738 of file G4GenericTrap.cc.
References fDz, and G4VSolid::kCarTolerance.
Referenced by CheckOrder().
|
inline |
|
private |
Definition at line 1788 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1861 of file G4GenericTrap.cc.
References ABSOLUTE.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1824 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 528 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fTessellatedSolid, fVertices, GetTwistAngle(), halfCarTolerance, G4VSolid::kCarTolerance, and G4TessellatedSolid::SurfaceNormal().
Referenced by DistanceToOut(), DistToPlane(), DistToTriangle(), and SafetyToFace().
G4GenericTrap & G4GenericTrap::operator= | ( | const G4GenericTrap & | rhs | ) |
Definition at line 223 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 1633 of file G4GenericTrap.cc.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 869 of file G4GenericTrap.cc.
References fDz, fVertices, and NormalToPlane().
Referenced by DistanceToIn(), and DistanceToOut().
|
inline |
|
virtual |
Implements G4VSolid.
Definition at line 1310 of file G4GenericTrap.cc.
References fDz, fgkNofVertices, fVertices, G4endl, GetEntityType(), G4VSolid::GetName(), and mm.
|
virtual |
Implements G4VSolid.
Definition at line 393 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fTessellatedSolid, fVertices, G4Exception(), GetTwistAngle(), halfCarTolerance, JustWarning, G4VSolid::kCarTolerance, and G4TessellatedSolid::SurfaceNormal().
|
private |
Definition at line 230 of file G4GenericTrap.hh.
Referenced by GetCubicVolume(), and operator=().
|
private |
Definition at line 217 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), CreatePolyhedron(), CreateTessellatedSolid(), DistanceToIn(), DistanceToOut(), DistToPlane(), DistToTriangle(), GetCubicVolume(), GetPointOnSurface(), GetSurfaceArea(), Inside(), IsSegCrossingZ(), NormalToPlane(), operator=(), SafetyToFace(), StreamInfo(), and SurfaceNormal().
|
staticprivate |
Definition at line 210 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), ComputeIsTwisted(), CreateTessellatedSolid(), G4GenericTrap(), and StreamInfo().
|
staticprivate |
Definition at line 211 of file G4GenericTrap.hh.
Referenced by CheckOrder(), ComputeIsTwisted(), and IsSegCrossing().
|
private |
Definition at line 219 of file G4GenericTrap.hh.
Referenced by CreatePolyhedron(), G4GenericTrap(), GetCubicVolume(), GetSurfaceArea(), NormalToPlane(), operator=(), and SurfaceNormal().
|
private |
Definition at line 223 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), and operator=().
|
private |
Definition at line 222 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), and operator=().
|
mutableprotected |
Definition at line 204 of file G4GenericTrap.hh.
Referenced by GetPolyhedron(), and operator=().
|
mutableprotected |
Definition at line 203 of file G4GenericTrap.hh.
Referenced by GetPolyhedron(), and operator=().
|
private |
Definition at line 229 of file G4GenericTrap.hh.
Referenced by GetSurfaceArea(), and operator=().
|
private |
Definition at line 221 of file G4GenericTrap.hh.
Referenced by CreatePolyhedron(), DescribeYourselfTo(), DistanceToIn(), DistanceToOut(), G4GenericTrap(), GetExtent(), GetPointOnSurface(), GetPolyhedron(), Inside(), NormalToPlane(), operator=(), SurfaceNormal(), and ~G4GenericTrap().
|
private |
Definition at line 220 of file G4GenericTrap.hh.
Referenced by G4GenericTrap(), and operator=().
|
private |
Definition at line 218 of file G4GenericTrap.hh.
Referenced by ComputeBBox(), ComputeIsTwisted(), CreatePolyhedron(), CreateTessellatedSolid(), DistanceToOut(), DistToPlane(), DistToTriangle(), G4GenericTrap(), GetCubicVolume(), GetPointOnSurface(), GetSurfaceArea(), Inside(), NormalToPlane(), operator=(), SafetyToFace(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 224 of file G4GenericTrap.hh.
Referenced by operator=().
|
private |
Definition at line 213 of file G4GenericTrap.hh.
Referenced by DistanceToIn(), DistanceToOut(), DistToPlane(), DistToTriangle(), G4GenericTrap(), Inside(), InsidePolygone(), NormalToPlane(), operator=(), and SurfaceNormal().