Geant4
10.01
|
#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 337 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 437 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 630 of file UTet.cc.
References fXMax, fXMin, fYMax, fYMin, fZMax, fZMin, UVector3::x, UVector3::y, and UVector3::z.
|
virtual |
|
virtual |
Implements VUSolid.
Definition at line 641 of file UTet.cc.
References fAnchor, fP2, fP3, fP4, UVector3::x, UVector3::y, and UVector3::z.
|
private |
Definition at line 569 of file UTet.cc.
References UVector3::Cross(), and UUtils::Random().
Referenced by GetPointOnSurface().
|
virtual |
Implements VUSolid.
Definition at line 589 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 231 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 262 of file UTet.cc.
References UVector3::Dot(), fCdotN123, fCdotN134, fCdotN142, fCdotN234, fNormal123, fNormal134, fNormal142, fNormal234, fTol, and UVector3::Unit().
Definition at line 181 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 520 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 540 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 operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by operator=(), and UTet().
|
private |
Definition at line 119 of file UTet.hh.
Referenced by 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 Extent(), operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 118 of file UTet.hh.
Referenced by Extent(), operator=(), and UTet().
|
private |
Definition at line 115 of file UTet.hh.
Referenced by DistanceToOut(), operator=(), and PrintWarnings().