Geant4
10.00.p03
|
#include <UTet.hh>
Public Member Functions | |
UTet (const std::string &name, UVector3 anchor, UVector3 p2, UVector3 p3, UVector3 p4, bool *degeneracyFlag=0) | |
virtual | ~UTet () |
EnumInside | Inside (const UVector3 &p) const |
bool | Normal (const UVector3 &aPoint, UVector3 &aNormal) const |
double | SafetyFromInside (const UVector3 &aPoint, bool aAccurate=false) const |
double | SafetyFromOutside (const UVector3 &aPoint, bool aAccurate=false) const |
double | DistanceToIn (const UVector3 &aPoint, const UVector3 &aDirection, double aPstep=UUtils::kInfinity) const |
double | DistanceToOut (const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const |
void | Extent (UVector3 &aMin, UVector3 &aMax) const |
double | Capacity () |
double | SurfaceArea () |
UGeometryType | GetEntityType () const |
void | ComputeBBox (UBBox *, bool) |
void | GetParametersList (int aNumber, double *aArray) const |
VUSolid * | Clone () const |
UVector3 | GetPointOnSurface () const |
std::ostream & | StreamInfo (std::ostream &os) const |
UTet (__void__ &) | |
UTet (const UTet &rhs) | |
UTet & | operator= (const UTet &rhs) |
void | PrintWarnings (bool flag) |
std::vector< UVector3 > | GetVertices () const |
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 |
Static Public Member Functions | |
static bool | CheckDegeneracy (UVector3 &anchor, UVector3 &p2, UVector3 &p3, UVector3 &p4) |
Static Public Member Functions inherited from VUSolid | |
static double | Tolerance () |
Private Member Functions | |
UVector3 | GetPointOnFace (UVector3 p1, UVector3 p2, UVector3 p3, double &area) const |
Private Attributes | |
double | fCubicVolume |
double | fSurfaceArea |
UVector3 | fAnchor |
UVector3 | fP2 |
UVector3 | fP3 |
UVector3 | fP4 |
UVector3 | fMiddle |
UVector3 | fNormal123 |
UVector3 | fNormal142 |
UVector3 | fNormal134 |
UVector3 | fNormal234 |
bool | warningFlag |
double | fCdotN123 |
double | fCdotN142 |
double | fCdotN134 |
double | fCdotN234 |
double | fXMin |
double | fXMax |
double | fYMin |
double | fYMax |
double | fZMin |
double | fZMax |
double | fDx |
double | fDy |
double | fDz |
double | fTol |
double | fMaxSize |
Static Private Attributes | |
static const char | CVSVers [] |
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 Protected Attributes inherited from VUSolid | |
static double | fgTolerance = 1.0E-9 |
static double | frTolerance = 1.0E-9 |
static double | faTolerance = 1.0E-9 |
UTet::UTet | ( | const std::string & | name, |
UVector3 | anchor, | ||
UVector3 | p2, | ||
UVector3 | p3, | ||
UVector3 | p4, | ||
bool * | degeneracyFlag = 0 |
||
) |
Definition at line 35 of file UTet.cc.
References UVector3::Cross(), UVector3::Dot(), UUtils::Exception(), fAnchor, FatalErrorInArguments, fCdotN123, fCdotN134, fCdotN142, fCdotN234, fCubicVolume, fDx, fDy, fDz, fMaxSize, fMiddle, fNormal123, fNormal134, fNormal142, fNormal234, fP2, fP3, fP4, fSurfaceArea, fTol, fXMax, fXMin, fYMax, fYMin, fZMax, fZMin, UVector3::Mag(), G4INCL::Math::max(), G4INCL::Math::min(), UVector3::Unit(), UVector3::x, UVector3::y, and UVector3::z.
Referenced by Clone().
|
virtual |
|
static |
|
virtual |
|
inlinevirtual |
|
virtual |
Implements VUSolid.
Definition at line 331 of file UTet.cc.
References UVector3::Dot(), fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, fTol, UUtils::kInfinity, G4INCL::Math::max(), and UVector3::Unit().
|
virtual |
Implements VUSolid.
Definition at line 431 of file UTet.cc.
References UVector3::Dot(), UUtils::Exception(), fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, fTol, UUtils::kInfinity, G4INCL::Math::max(), G4INCL::Math::min(), CLHEP::normal(), UVector3::Unit(), Warning, and warningFlag.
Implements VUSolid.
Definition at line 624 of file UTet.cc.
References fDx, fDy, fDz, UVector3::x, UVector3::y, and UVector3::z.
|
virtual |
|
virtual |
Implements VUSolid.
Definition at line 635 of file UTet.cc.
References fAnchor, fP2, fP3, fP4, UVector3::x, UVector3::y, and UVector3::z.
|
private |
Definition at line 563 of file UTet.cc.
References UVector3::Cross(), and UUtils::Random().
Referenced by GetPointOnSurface().
|
virtual |
Implements VUSolid.
Definition at line 583 of file UTet.cc.
References fAnchor, fP2, fP3, fP4, GetPointOnFace(), and UUtils::Random().
std::vector< UVector3 > UTet::GetVertices | ( | ) | const |
|
virtual |
Implements VUSolid.
Definition at line 225 of file UTet.cc.
References UVector3::Dot(), VUSolid::eInside, VUSolid::eOutside, VUSolid::eSurface, fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, and fTol.
Implements VUSolid.
Definition at line 256 of file UTet.cc.
References UVector3::Dot(), fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, fTol, and UVector3::Unit().
Definition at line 175 of file UTet.cc.
References fAnchor, fCdotN123, fCdotN134, fCdotN142, fCdotN234, fCubicVolume, fDx, fDy, fDz, fMaxSize, fMiddle, fNormal123, fNormal134, fNormal142, fNormal234, fP2, fP3, fP4, fSurfaceArea, fTol, fXMax, fXMin, fYMax, fYMin, fZMax, fZMin, and warningFlag.
|
inline |
Definition at line 91 of file UTet.hh.
References warningFlag.
|
virtual |
Implements VUSolid.
Definition at line 514 of file UTet.cc.
References UVector3::Dot(), fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, fTol, and G4INCL::Math::min().
|
virtual |
|
virtual |
Implements VUSolid.
Definition at line 534 of file UTet.cc.
References fAnchor, fNormal123, fNormal134, fNormal142, fNormal234, fP2, fP3, fP4, and VUSolid::GetName().
|
virtual |
|
private |
Definition at line 112 of file UTet.hh.
Referenced by GetParametersList(), GetPointOnSurface(), GetVertices(), operator=(), StreamInfo(), and UTet().
|
private |
Definition at line 117 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), and UTet().
|
private |
Definition at line 117 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), and UTet().
|
private |
Definition at line 117 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), and UTet().
|
private |
Definition at line 117 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), and UTet().
|
private |
Definition at line 104 of file UTet.hh.
Referenced by Capacity(), operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by operator=(), SafetyFromOutside(), and UTet().
|
private |
Definition at line 112 of file UTet.hh.
Referenced by operator=(), SafetyFromOutside(), and UTet().
|
private |
Definition at line 113 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), StreamInfo(), and UTet().
|
private |
Definition at line 113 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), StreamInfo(), and UTet().
|
private |
Definition at line 113 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), StreamInfo(), and UTet().
|
private |
Definition at line 113 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), StreamInfo(), and UTet().
|
private |
Definition at line 112 of file UTet.hh.
Referenced by GetParametersList(), GetPointOnSurface(), GetVertices(), operator=(), StreamInfo(), and UTet().
|
private |
Definition at line 112 of file UTet.hh.
Referenced by GetParametersList(), GetPointOnSurface(), GetVertices(), operator=(), StreamInfo(), and UTet().
|
private |
Definition at line 112 of file UTet.hh.
Referenced by GetParametersList(), GetPointOnSurface(), GetVertices(), operator=(), StreamInfo(), and UTet().
|
private |
Definition at line 104 of file UTet.hh.
Referenced by operator=(), SurfaceArea(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 115 of file UTet.hh.
Referenced by DistanceToOut(), operator=(), and PrintWarnings().