Geant4
10.01.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 |
G4double | EstimateCubicVolume (G4int nStat, G4double epsilon) const |
G4double | EstimateSurfaceArea (G4int nStat, G4double ell) 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 1206 of file G4GenericTrap.cc.
References G4TessellatedSolid::CalculateExtent(), G4VSolid::ClipBetweenSections(), G4VSolid::ClipCrossSection(), CreateRotatedVertices(), fDz, 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 1681 of file G4GenericTrap.cc.
References FatalException, fgkTolerance, G4Exception(), G4VSolid::GetName(), IsSegCrossing(), IsSegCrossingZ(), and JustWarning.
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1433 of file G4GenericTrap.cc.
References G4GenericTrap().
|
private |
Definition at line 2080 of file G4GenericTrap.cc.
References fDz, fgkNofVertices, fMaxBBoxVector, fMinBBoxVector, and fVertices.
Referenced by G4GenericTrap().
|
private |
Definition at line 1633 of file G4GenericTrap.cc.
References fgkNofVertices, fgkTolerance, fVertices, G4endl, G4Exception(), G4VSolid::GetName(), JustWarning, G4VSolid::kCarTolerance, G4INCL::Math::pi, and SetTwistAngle().
Referenced by G4GenericTrap().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2164 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 1381 of file G4GenericTrap.cc.
References FatalException, G4Exception(), GetMaximumBBox(), GetMinimumBBox(), and G4AffineTransform::TransformPoint().
Referenced by CalculateExtent().
|
private |
Definition at line 2019 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 2127 of file G4GenericTrap.cc.
References G4VGraphicsScene::AddSolid(), G4TessellatedSolid::DescribeYourselfTo(), and fTessellatedSolid.
|
virtual |
Implements G4VSolid.
Definition at line 762 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), DistToPlane(), fDz, fTessellatedSolid, halfCarTolerance, Inside(), kInfinity, kOutside, and n.
|
virtual |
Implements G4VSolid.
Definition at line 830 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToIn(), fDz, fTessellatedSolid, and SafetyToFace().
|
virtual |
Implements G4VSolid.
Definition at line 934 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 1179 of file G4GenericTrap.cc.
References G4TessellatedSolid::DistanceToOut(), fDz, fTessellatedSolid, and SafetyToFace().
|
private |
Definition at line 604 of file G4GenericTrap.cc.
References a, fDz, fVertices, halfCarTolerance, Inside(), G4VSolid::kCarTolerance, kInfinity, kOutside, and NormalToPlane().
Referenced by DistanceToIn().
|
private |
Definition at line 879 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 1551 of file G4GenericTrap.cc.
References fCubicVolume, and G4VSolid::GetCubicVolume().
|
virtual |
Implements G4VSolid.
Definition at line 1426 of file G4GenericTrap.cc.
Referenced by StreamInfo().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2142 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, G4TessellatedSolid::GetExtent(), GetMaximumBBox(), and GetMinimumBBox().
|
private |
Definition at line 1607 of file G4GenericTrap.cc.
References CLHEP::normal(), and p1.
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 1463 of file G4GenericTrap.cc.
References fDz, fTessellatedSolid, fVertices, G4UniformRand, GetFaceSurfaceArea(), and G4TessellatedSolid::GetPointOnSurface().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 2101 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 1560 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fSurfaceArea, fVertices, GetFaceSurfaceArea(), and G4VSolid::GetSurfaceArea().
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, and kSurface.
Referenced by DistanceToOut(), and Inside().
|
private |
Definition at line 1777 of file G4GenericTrap.cc.
References a, a1, a2, b1, b2, and fgkTolerance.
Referenced by CheckOrder().
|
private |
Definition at line 1867 of file G4GenericTrap.cc.
References fDz, G4VSolid::kCarTolerance, p1, and p2.
Referenced by CheckOrder().
|
inline |
|
private |
Definition at line 1917 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1990 of file G4GenericTrap.cc.
References ABSOLUTE.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 1953 of file G4GenericTrap.cc.
References ABSOLUTE, FatalException, G4Exception(), and G4VSolid::GetName().
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 521 of file G4GenericTrap.cc.
References fDz, fIsTwisted, fTessellatedSolid, fVertices, GetTwistAngle(), halfCarTolerance, G4VSolid::kCarTolerance, p0, p1, p2, and G4TessellatedSolid::SurfaceNormal().
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 1762 of file G4GenericTrap.cc.
Referenced by CreateTessellatedSolid().
|
private |
Definition at line 860 of file G4GenericTrap.cc.
References fDz, fVertices, NormalToPlane(), and p1.
Referenced by DistanceToIn(), and DistanceToOut().
|
inline |
|
virtual |
Implements G4VSolid.
Definition at line 1440 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, p0, p1, p2, and G4TessellatedSolid::SurfaceNormal().
|
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 CalculateExtent(), ComputeBBox(), CreatePolyhedron(), CreateTessellatedSolid(), DistanceToIn(), DistanceToOut(), DistToPlane(), DistToTriangle(), GetExtent(), 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().