|
Geant4
10.00.p03
|
#include <UPolyhedra.hh>
Inheritance diagram for UPolyhedra:
Collaboration diagram for UPolyhedra:Public Member Functions | |
| void | Init (double phiStart, double phiTotal, int numSide, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[]) |
| UPolyhedra (const std::string &name, double phiStart, double phiTotal, int numSide, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[]) | |
| UPolyhedra (const std::string &name, double phiStart, double phiTotal, int numSide, int numRZ, const double r[], const double z[]) | |
| virtual | ~UPolyhedra () |
| void | GetParametersList (int, double *) const |
| void | ComputeBBox (UBBox *, bool) |
| VUSolid::EnumInside | Inside (const UVector3 &p) const |
| double | SafetyFromOutside (const UVector3 &aPoint, bool aAccurate=false) const |
| UGeometryType | GetEntityType () const |
| VUSolid * | Clone () const |
| UVector3 | GetPointOnSurface () const |
| std::ostream & | StreamInfo (std::ostream &os) const |
| bool | Reset () |
| int | GetNumSide () const |
| double | GetStartPhi () const |
| double | GetEndPhi () const |
| bool | IsOpen () const |
| bool | IsGeneric () const |
| int | GetNumRZCorner () const |
| UPolyhedraSideRZ | GetCorner (const int index) const |
| UPolyhedraHistorical * | GetOriginalParameters () |
| void | SetOriginalParameters (UPolyhedraHistorical &pars) |
| double | DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const |
| UPolyhedra (const UPolyhedra &source) | |
| UPolyhedra & | operator= (const UPolyhedra &source) |
Public Member Functions inherited from UVCSGfaceted | |
| UVCSGfaceted (const std::string &name) | |
| virtual | ~UVCSGfaceted () |
| UVCSGfaceted (const UVCSGfaceted &source) | |
| UVCSGfaceted & | operator= (const UVCSGfaceted &source) |
| VUSolid::EnumInside | InsideNoVoxels (const UVector3 &p) const |
| virtual bool | Normal (const UVector3 &p, UVector3 &n) const |
| double | DistanceToInNoVoxels (const UVector3 &p, const UVector3 &v) const |
| double | DistanceTo (const UVector3 &p, const bool outgoing) const |
| double | DistanceToOutNoVoxels (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex) const |
| virtual double | DistanceToOut (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex, double aPstep=UUtils::kInfinity) const |
| virtual double | SafetyFromInside (const UVector3 &aPoint, bool aAccurate=false) const |
| virtual double | SafetyFromInsideNoVoxels (const UVector3 &aPoint, bool aAccurate=false) const |
| int | GetCubVolStatistics () const |
| double | GetCubVolEpsilon () const |
| void | SetCubVolStatistics (int st) |
| void | SetCubVolEpsilon (double ep) |
| int | GetAreaStatistics () const |
| double | GetAreaAccuracy () const |
| void | SetAreaStatistics (int st) |
| void | SetAreaAccuracy (double ep) |
| virtual double | Capacity () |
| virtual double | SurfaceArea () |
Public Member Functions inherited from VUSolid | |
| VUSolid () | |
| VUSolid (const std::string &name) | |
| virtual | ~VUSolid () |
| double | GetCarTolerance () const |
| double | GetRadTolerance () const |
| double | GetAngTolerance () const |
| void | SetCarTolerance (double eps) |
| void | SetRadTolerance (double eps) |
| void | SetAngTolerance (double eps) |
| virtual void | ExtentAxis (EAxisType aAxis, double &aMin, double &aMax) const |
| const std::string & | GetName () const |
| void | SetName (const std::string &aName) |
| virtual void | SamplePointsInside (int, UVector3 *) const |
| virtual void | SamplePointsOnSurface (int, UVector3 *) const |
| virtual void | SamplePointsOnEdge (int, UVector3 *) const |
| double | EstimateCubicVolume (int nStat, double epsilon) const |
| double | EstimateSurfaceArea (int nStat, double ell) const |
Protected Member Functions | |
| UPolyhedra (const std::string &name) | |
| void | SetOriginalParameters () |
| void | Create (double phiStart, double phiTotal, int numSide, UReduciblePolygon *rz) |
| void | CopyStuff (const UPolyhedra &source) |
| void | DeleteStuff () |
| UVector3 | GetPointOnPlane (UVector3 p0, UVector3 p1, UVector3 p2, UVector3 p3) const |
| UVector3 | GetPointOnTriangle (UVector3 p0, UVector3 p1, UVector3 p2) const |
| UVector3 | GetPointOnSurfaceCorners () const |
| void | Extent (UVector3 &aMin, UVector3 &aMax) const |
Protected Member Functions inherited from UVCSGfaceted | |
| double | SafetyFromInsideSection (int index, const UVector3 &p, UBits &bits) const |
| int | GetSection (double z) const |
| UVector3 | GetPointOnSurfaceGeneric () const |
| void | CopyStuff (const UVCSGfaceted &source) |
| void | DeleteStuff () |
| void | FindCandidates (double z, std::vector< int > &candidates, bool sides=false) |
| void | InitVoxels (UReduciblePolygon &z, double radius) |
Protected Attributes | |
| int | fNumSides |
| double | fStartPhi |
| double | fEndPhi |
| bool | fPhiIsOpen |
| bool | fGenericPgon |
| int | fNumCorner |
| UPolyhedraSideRZ * | fCorners |
| UPolyhedraHistorical | fOriginalParameters |
| UEnclosingCylinder * | fEnclosingCylinder |
Protected Attributes inherited from UVCSGfaceted | |
| int | numFace |
| UVCSGface ** | faces |
| double | fCubicVolume |
| double | fSurfaceArea |
| std::vector< double > | fZs |
| std::vector< std::vector< int > > | fCandidates |
| int | fMaxSection |
| UBox | fBox |
| double | fBoxShift |
| bool | fNoVoxels |
Additional Inherited Members | |
Public Types inherited from VUSolid | |
| enum | EnumInside { eInside =0, eSurface =1, eOutside =2 } |
| enum | EAxisType { eXaxis =0, eYaxis =1, eZaxis =2 } |
Static Public Member Functions inherited from VUSolid | |
| static double | Tolerance () |
Static Protected Attributes inherited from VUSolid | |
| static double | fgTolerance = 1.0E-9 |
| static double | frTolerance = 1.0E-9 |
| static double | faTolerance = 1.0E-9 |
Definition at line 64 of file UPolyhedra.hh.
|
inlineprotected |
Definition at line 68 of file UPolyhedra.hh.
Referenced by Clone().
Here is the caller graph for this function:| UPolyhedra::UPolyhedra | ( | const std::string & | name, |
| double | phiStart, | ||
| double | phiTotal, | ||
| int | numSide, | ||
| int | numZPlanes, | ||
| const double | zPlane[], | ||
| const double | rInner[], | ||
| const double | rOuter[] | ||
| ) |
Definition at line 49 of file UPolyhedra.cc.
References Init().
Here is the call graph for this function:| UPolyhedra::UPolyhedra | ( | const std::string & | name, |
| double | phiStart, | ||
| double | phiTotal, | ||
| int | numSide, | ||
| int | numRZ, | ||
| const double | r[], | ||
| const double | z[] | ||
| ) |
Definition at line 156 of file UPolyhedra.cc.
References Create(), and SetOriginalParameters().
Here is the call graph for this function:
|
virtual |
Definition at line 382 of file UPolyhedra.cc.
References fCorners, and fEnclosingCylinder.
| UPolyhedra::UPolyhedra | ( | const UPolyhedra & | source | ) |
Definition at line 394 of file UPolyhedra.cc.
References CopyStuff().
Here is the call graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 541 of file UPolyhedra.cc.
References UPolyhedra().
Here is the call graph for this function:
|
inlinevirtual |
Implements VUSolid.
Definition at line 104 of file UPolyhedra.hh.
|
protected |
Definition at line 424 of file UPolyhedra.cc.
References fCorners, fEnclosingCylinder, fEndPhi, fGenericPgon, fNumCorner, fNumSides, fOriginalParameters, fPhiIsOpen, and fStartPhi.
Referenced by operator=(), and UPolyhedra().
Here is the caller graph for this function:
|
protected |
Definition at line 183 of file UPolyhedra.cc.
References UReduciblePolygon::Amax(), UReduciblePolygon::Amin(), UReduciblePolygon::Area(), UReduciblePolygonIterator::Begin(), UReduciblePolygon::Bmax(), UReduciblePolygon::Bmin(), UReduciblePolygon::CrossesItself(), DBL_EPSILON, UUtils::Exception(), UVCSGfaceted::faces, FatalErrorInArguments, fCorners, fEnclosingCylinder, fEndPhi, UVCSGfaceted::fMaxSection, UVCSGfaceted::fNoVoxels, fNumCorner, fNumSides, fPhiIsOpen, fStartPhi, UReduciblePolygonIterator::GetA(), UReduciblePolygonIterator::GetB(), VUSolid::GetName(), UVCSGfaceted::InitVoxels(), UUtils::kInfinity, UUtils::kPi, UReduciblePolygonIterator::Next(), UVCSGfaceted::numFace, UReduciblePolygon::NumVertices(), UPolyhedraSideRZ::r, UEnclosingCylinder::radius, UReduciblePolygon::RemoveDuplicateVertices(), UReduciblePolygon::RemoveRedundantVertices(), UReduciblePolygon::ReverseOrder(), VUSolid::Tolerance(), and UPolyhedraSideRZ::z.
Referenced by Init(), Reset(), and UPolyhedra().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 935 of file UPolyhedra.cc.
References UVCSGfaceted::DistanceToIn(), fEnclosingCylinder, UVCSGfaceted::fNoVoxels, UUtils::kInfinity, and UEnclosingCylinder::ShouldMiss().
Here is the call graph for this function:Implements VUSolid.
Definition at line 923 of file UPolyhedra.cc.
References UEnclosingCylinder::Extent(), and fEnclosingCylinder.
Here is the call graph for this function:
|
inline |
|
inline |
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 532 of file UPolyhedra.cc.
|
inline |
|
inline |
|
inline |
Referenced by G4UPolyhedra::GetOriginalParameters(), and G4UPolyhedra::SetOriginalParameters().
Here is the caller graph for this function:
|
inlinevirtual |
Implements VUSolid.
Definition at line 102 of file UPolyhedra.hh.
|
protected |
Definition at line 603 of file UPolyhedra.cc.
References CLHEP::normal(), and UUtils::Random().
Referenced by GetPointOnSurface().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 652 of file UPolyhedra.cc.
References a, fEndPhi, fGenericPgon, fNumSides, UPolyhedraHistorical::fNumZPlanes, fOriginalParameters, fPhiIsOpen, fStartPhi, UPolyhedraHistorical::fZValues, GetPointOnPlane(), UVCSGfaceted::GetPointOnSurfaceGeneric(), UUtils::kPi, UUtils::Random(), UPolyhedraHistorical::Rmax, UPolyhedraHistorical::Rmin, and UUtils::sqr().
Here is the call graph for this function:
|
protected |
Definition at line 635 of file UPolyhedra.cc.
References UUtils::Random().
Here is the call graph for this function:
|
inline |
| void UPolyhedra::Init | ( | double | phiStart, |
| double | phiTotal, | ||
| int | numSide, | ||
| int | numZPlanes, | ||
| const double | zPlane[], | ||
| const double | rInner[], | ||
| const double | rOuter[] | ||
| ) |
Definition at line 67 of file UPolyhedra.cc.
References Create(), DBL_EPSILON, UUtils::Exception(), FatalErrorInArguments, fGenericPgon, UPolyhedraHistorical::fNumSide, UPolyhedraHistorical::fNumZPlanes, UPolyhedraHistorical::fOpeningAngle, fOriginalParameters, UPolyhedraHistorical::fStartAngle, UPolyhedraHistorical::fZValues, VUSolid::GetName(), UUtils::kPi, UPolyhedraHistorical::Rmax, UPolyhedraHistorical::Rmin, and UReduciblePolygon::ScaleA().
Referenced by UPolyhedra().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 506 of file UPolyhedra.cc.
References VUSolid::eOutside, fEnclosingCylinder, UVCSGfaceted::Inside(), and UEnclosingCylinder::MustBeOutside().
Here is the call graph for this function:
|
inline |
|
inline |
| UPolyhedra & UPolyhedra::operator= | ( | const UPolyhedra & | source | ) |
Definition at line 404 of file UPolyhedra.cc.
References CopyStuff(), fCorners, fEnclosingCylinder, and UVCSGfaceted::operator=().
Here is the call graph for this function:| bool UPolyhedra::Reset | ( | ) |
Definition at line 464 of file UPolyhedra.cc.
References Create(), UVCSGfaceted::DeleteStuff(), UUtils::Exception(), fCorners, fEnclosingCylinder, fGenericPgon, UPolyhedraHistorical::fNumSide, UPolyhedraHistorical::fNumZPlanes, UPolyhedraHistorical::fOpeningAngle, fOriginalParameters, UPolyhedraHistorical::fStartAngle, UPolyhedraHistorical::fZValues, VUSolid::GetName(), UPolyhedraHistorical::Rmax, UPolyhedraHistorical::Rmin, and Warning.
Referenced by G4UPolyhedra::Reset().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 523 of file UPolyhedra.cc.
References UVCSGfaceted::SafetyFromOutside().
Here is the call graph for this function:
|
inline |
|
inlineprotected |
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 550 of file UPolyhedra.cc.
References fCorners, fEndPhi, fGenericPgon, fNumCorner, UPolyhedraHistorical::fNumZPlanes, fOriginalParameters, fStartPhi, UPolyhedraHistorical::fZValues, VUSolid::GetName(), UUtils::kPi, UPolyhedraSideRZ::r, UPolyhedraHistorical::Rmax, UPolyhedraHistorical::Rmin, and UPolyhedraSideRZ::z.
Here is the call graph for this function:
|
protected |
Definition at line 186 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), operator=(), Reset(), StreamInfo(), and ~UPolyhedra().
|
protected |
Definition at line 188 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), DistanceToIn(), Extent(), Inside(), operator=(), Reset(), and ~UPolyhedra().
|
protected |
Definition at line 182 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), GetPointOnSurface(), and StreamInfo().
|
protected |
Definition at line 184 of file UPolyhedra.hh.
Referenced by CopyStuff(), GetPointOnSurface(), Init(), Reset(), and StreamInfo().
|
protected |
Definition at line 185 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), and StreamInfo().
|
protected |
Definition at line 180 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), and GetPointOnSurface().
|
protected |
Definition at line 187 of file UPolyhedra.hh.
Referenced by CopyStuff(), GetPointOnSurface(), Init(), Reset(), and StreamInfo().
|
protected |
Definition at line 183 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), and GetPointOnSurface().
|
protected |
Definition at line 181 of file UPolyhedra.hh.
Referenced by CopyStuff(), Create(), GetPointOnSurface(), and StreamInfo().