Geant4
10.01.p02
|
#include <UBox.hh>
Public Member Functions | |
UBox () | |
UBox (const std::string &name, double dx, double dy, double dz) | |
virtual | ~UBox () |
UBox (const UBox &rhs) | |
UBox & | operator= (const UBox &rhs) |
void | Set (double dx, double dy, double dz) |
void | Set (const UVector3 &vec) |
double | GetXHalfLength () const |
double | GetYHalfLength () const |
double | GetZHalfLength () const |
void | SetXHalfLength (double dx) |
void | SetYHalfLength (double dy) |
void | SetZHalfLength (double dz) |
EnumInside | Inside (const UVector3 &aPoint) 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 |
bool | Normal (const UVector3 &aPoint, UVector3 &aNormal) const |
void | Extent (UVector3 &aMin, UVector3 &aMax) const |
double | Capacity () |
double | SurfaceArea () |
VUSolid * | Clone () const |
UGeometryType | GetEntityType () const |
void | ComputeBBox (UBBox *, bool) |
void | GetParametersList (int, double *aArray) const |
UVector3 | GetPointOnSurface () const |
UVector3 | GetPointOnEdge () const |
std::ostream & | StreamInfo (std::ostream &os) 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 |
Private Attributes | |
double | fDx |
double | fDy |
double | fDz |
double | fCubicVolume |
double | fSurfaceArea |
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 |
|
inline |
UBox::UBox | ( | const std::string & | name, |
double | dx, | ||
double | dy, | ||
double | dz | ||
) |
Definition at line 23 of file UBox.cc.
References UUtils::Exception(), VUSolid::fgTolerance, VUSolid::GetName(), and UFatalErrorInArguments.
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
virtual |
Implements VUSolid.
Definition at line 117 of file UBox.cc.
References fDx, fDy, fDz, VUSolid::fgTolerance, UUtils::kInfinity, UVector3::x(), UVector3::y(), and UVector3::z().
Referenced by UVoxelizer::DistanceToFirst(), UVCSGfaceted::DistanceToIn(), UGenericTrap::DistanceToIn(), and UPolycone::DistanceToIn().
|
virtual |
Implements VUSolid.
Definition at line 215 of file UBox.cc.
References fDx, fDy, fDz, VUSolid::fgTolerance, UUtils::kInfinity, UVector3::Set(), UUtils::Sign(), UVector3::x(), UVector3::y(), and UVector3::z().
Implements VUSolid.
Definition at line 397 of file UBox.cc.
References fDx, fDy, fDz, UVector3::x(), UVector3::y(), and UVector3::z().
|
virtual |
|
inlinevirtual |
Implements VUSolid.
Definition at line 91 of file UBox.hh.
References GetXHalfLength(), GetYHalfLength(), and GetZHalfLength().
UVector3 UBox::GetPointOnEdge | ( | ) | const |
|
virtual |
|
inline |
Definition at line 114 of file UBox.hh.
References fDx.
Referenced by GetParametersList(), and G4UBox::GetXHalfLength().
|
inline |
Definition at line 118 of file UBox.hh.
References fDy.
Referenced by GetParametersList(), and G4UBox::GetYHalfLength().
|
inline |
Definition at line 122 of file UBox.hh.
References fDz.
Referenced by UPolycone::DistanceToIn(), GetParametersList(), G4UBox::GetZHalfLength(), UVCSGfaceted::InitVoxels(), and UPolycone::Inside().
|
virtual |
Implements VUSolid.
Definition at line 97 of file UBox.cc.
References VUSolid::eInside, VUSolid::eOutside, VUSolid::eSurface, fDx, fDy, fDz, VUSolid::fgTolerance, UVector3::x(), UVector3::y(), and UVector3::z().
Referenced by UGenericTrap::Inside(), and UPolycone::Inside().
Implements VUSolid.
Definition at line 328 of file UBox.cc.
References fDx, fDy, fDz, VUSolid::fgTolerance, UVector3::Set(), UUtils::Sign(), UVector3::x(), UVector3::y(), and UVector3::z().
Definition at line 72 of file UBox.cc.
References fCubicVolume, fDx, fDy, fDz, and fSurfaceArea.
|
virtual |
Implements VUSolid.
Definition at line 276 of file UBox.cc.
References fDx, fDy, fDz, G4INCL::Math::max(), UVector3::x(), UVector3::y(), and UVector3::z().
|
virtual |
Implements VUSolid.
Definition at line 292 of file UBox.cc.
References fDx, fDy, fDz, UVector3::x(), UVector3::y(), and UVector3::z().
Referenced by UVCSGfaceted::SafetyFromOutside(), and UGenericTrap::SafetyFromOutside().
void UBox::Set | ( | double | dx, |
double | dy, | ||
double | dz | ||
) |
Definition at line 43 of file UBox.cc.
Referenced by UPolycone::Init(), and UVCSGfaceted::InitVoxels().
void UBox::Set | ( | const UVector3 & | vec | ) |
Definition at line 50 of file UBox.cc.
References fDx, fDy, fDz, UVector3::x(), UVector3::y(), and UVector3::z().
void UBox::SetXHalfLength | ( | double | dx | ) |
Definition at line 528 of file UBox.cc.
References UUtils::Exception(), fCubicVolume, fDx, VUSolid::fgTolerance, fSurfaceArea, VUSolid::GetName(), and UFatalErrorInArguments.
Referenced by G4UBox::SetXHalfLength().
void UBox::SetYHalfLength | ( | double | dy | ) |
Definition at line 548 of file UBox.cc.
References UUtils::Exception(), fCubicVolume, fDy, VUSolid::fgTolerance, fSurfaceArea, VUSolid::GetName(), and UFatalErrorInArguments.
Referenced by G4UBox::SetYHalfLength().
void UBox::SetZHalfLength | ( | double | dz | ) |
Definition at line 568 of file UBox.cc.
References UUtils::Exception(), fCubicVolume, fDz, VUSolid::fgTolerance, fSurfaceArea, VUSolid::GetName(), and UFatalErrorInArguments.
Referenced by G4UBox::SetZHalfLength().
|
virtual |
|
inlinevirtual |
|
private |
Definition at line 108 of file UBox.hh.
Referenced by Capacity(), operator=(), SetXHalfLength(), SetYHalfLength(), and SetZHalfLength().
|
private |
Definition at line 105 of file UBox.hh.
Referenced by Capacity(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnEdge(), GetPointOnSurface(), GetXHalfLength(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), Set(), SetXHalfLength(), StreamInfo(), and SurfaceArea().
|
private |
Definition at line 106 of file UBox.hh.
Referenced by Capacity(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnEdge(), GetPointOnSurface(), GetYHalfLength(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), Set(), SetYHalfLength(), StreamInfo(), and SurfaceArea().
|
private |
Definition at line 107 of file UBox.hh.
Referenced by Capacity(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnEdge(), GetPointOnSurface(), GetZHalfLength(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), Set(), SetZHalfLength(), StreamInfo(), and SurfaceArea().
|
private |
Definition at line 109 of file UBox.hh.
Referenced by operator=(), SetXHalfLength(), SetYHalfLength(), SetZHalfLength(), and SurfaceArea().