Geant4
10.01.p02
|
#include <UCons.hh>
Public Member Functions | |
UCons (const std::string &pName, double pRmin1, double pRmax1, double pRmin2, double pRmax2, double pDz, double pSPhi, double pDPhi) | |
~UCons () | |
double | GetInnerRadiusMinusZ () const |
double | GetOuterRadiusMinusZ () const |
double | GetInnerRadiusPlusZ () const |
double | GetOuterRadiusPlusZ () const |
double | GetZHalfLength () const |
double | GetStartPhiAngle () const |
double | GetDeltaPhiAngle () const |
void | SetInnerRadiusMinusZ (double Rmin1) |
void | SetOuterRadiusMinusZ (double Rmax1) |
void | SetInnerRadiusPlusZ (double Rmin2) |
void | SetOuterRadiusPlusZ (double Rmax2) |
void | SetZHalfLength (double newDz) |
void | SetStartPhiAngle (double newSPhi, bool trig=true) |
void | SetDeltaPhiAngle (double newDPhi) |
double | Capacity () |
double | SurfaceArea () |
bool | Normal (const UVector3 &p, UVector3 &n) const |
double | DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const |
double | SafetyFromOutside (const UVector3 &p, bool precise=false) const |
double | DistanceToOut (const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const |
double | SafetyFromInside (const UVector3 &p, bool precise=false) const |
UGeometryType | GetEntityType () const |
UVector3 | GetPointOnSurface () const |
VUSolid * | Clone () const |
std::ostream & | StreamInfo (std::ostream &os) const |
void | Extent (UVector3 &aMin, UVector3 &aMax) const |
virtual void | GetParametersList (int, double *) const |
virtual void | ComputeBBox (UBBox *, bool) |
double | SafetyToPhi (const UVector3 &p, const double rho, bool &outside) const |
double | SafetyFromInsideR (const UVector3 &p, const double rho, bool) const |
double | SafetyFromOutsideR (const UVector3 &p, const double rho, bool) const |
VUSolid::EnumInside | Inside (const UVector3 &p) const |
UCons () | |
UCons (const UCons &rhs) | |
UCons & | operator= (const UCons &rhs) |
double | GetRmin1 () const |
double | GetRmax1 () const |
double | GetRmin2 () const |
double | GetRmax2 () const |
double | GetDz () const |
double | GetSPhi () const |
double | GetDPhi () 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 Types | |
enum | ESide { kNull, kRMin, kRMax, kSPhi, kEPhi, kPZ, kMZ } |
enum | ENorm { kNRMin, kNRMax, kNSPhi, kNEPhi, kNZ } |
Private Member Functions | |
void | Initialize () |
void | CheckSPhiAngle (double sPhi) |
void | CheckDPhiAngle (double dPhi) |
void | CheckPhiAngles (double sPhi, double dPhi) |
void | InitializeTrigonometry () |
UVector3 | ApproxSurfaceNormal (const UVector3 &p) const |
Private Attributes | |
double | fCubicVolume |
double | fSurfaceArea |
double | kRadTolerance |
double | kAngTolerance |
double | fRmin1 |
double | fRmin2 |
double | fRmax1 |
double | fRmax2 |
double | fDz |
double | fSPhi |
double | fDPhi |
double | sinCPhi |
double | cosCPhi |
double | cosHDPhiOT |
double | cosHDPhiIT |
double | sinSPhi |
double | cosSPhi |
double | sinEPhi |
double | cosEPhi |
bool | fPhiFullCone |
double | secRMin |
double | tanRMin |
double | tanRMax |
double | secRMax |
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 |
|
private |
|
private |
UCons::UCons | ( | const std::string & | pName, |
double | pRmin1, | ||
double | pRmax1, | ||
double | pRmin2, | ||
double | pRmax2, | ||
double | pDz, | ||
double | pSPhi, | ||
double | pDPhi | ||
) |
Definition at line 40 of file UCons.cc.
References CheckPhiAngles(), e3, UUtils::Exception(), VUSolid::faTolerance, fRmin1, fRmin2, VUSolid::frTolerance, VUSolid::GetName(), Initialize(), kAngTolerance, kRadTolerance, and UFatalErrorInArguments.
UCons::UCons | ( | ) |
Definition at line 92 of file UCons.cc.
References Initialize().
Referenced by Clone().
UCons::UCons | ( | const UCons & | rhs | ) |
Definition at line 114 of file UCons.cc.
References Initialize().
Definition at line 298 of file UCons.cc.
References UUtils::Exception(), fDPhi, fDz, fPhiFullCone, fRmax2, fRmin2, fSPhi, kNEPhi, kNRMax, kNRMin, kNSPhi, kNZ, UUtils::kPi, secRMax, secRMin, tanRMax, tanRMin, UWarning, UVector3::x(), UVector3::y(), and UVector3::z().
Referenced by Normal().
|
inlinevirtual |
Implements VUSolid.
|
private |
Definition at line 2192 of file UCons.cc.
References UUtils::Exception(), fDPhi, fPhiFullCone, fSPhi, VUSolid::GetName(), kAngTolerance, UUtils::kPi, and UFatalErrorInArguments.
|
inlineprivate |
|
inlineprivate |
|
virtual |
|
inlinevirtual |
|
virtual |
Implements VUSolid.
Definition at line 440 of file UCons.cc.
References cosCPhi, cosEPhi, cosHDPhiIT, cosHDPhiOT, cosSPhi, UVector3::Dot(), fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, UUtils::kInfinity, kRadTolerance, G4INCL::Math::max(), secRMax, secRMin, sinCPhi, sinEPhi, sinSPhi, tanRMax, tanRMin, VUSolid::Tolerance(), UVector3::x(), UVector3::y(), and UVector3::z().
|
virtual |
Implements VUSolid.
Definition at line 1343 of file UCons.cc.
References cosCPhi, cosEPhi, cosSPhi, UVector3::Dot(), UUtils::Exception(), fDPhi, fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, fSPhi, kAngTolerance, kEPhi, UUtils::kInfinity, kMZ, kNull, UUtils::kPi, kPZ, kRadTolerance, kRMax, kRMin, kSPhi, secRMax, secRMin, sinCPhi, sinEPhi, sinSPhi, tanRMax, tanRMin, VUSolid::Tolerance(), UVector3::Unit(), UWarning, UVector3::x(), UVector3::y(), and UVector3::z().
|
inline |
Referenced by G4UCons::GetDeltaPhiAngle(), and GetParametersList().
|
inline |
|
inline |
|
virtual |
|
inline |
Referenced by G4UCons::GetInnerRadiusMinusZ(), and GetParametersList().
|
inline |
Referenced by G4UCons::GetInnerRadiusPlusZ(), and GetParametersList().
|
inline |
Referenced by G4UCons::GetOuterRadiusMinusZ(), and GetParametersList().
|
inline |
Referenced by G4UCons::GetOuterRadiusPlusZ(), and GetParametersList().
|
virtual |
Implements VUSolid.
Definition at line 2219 of file UCons.cc.
References GetDeltaPhiAngle(), GetInnerRadiusMinusZ(), GetInnerRadiusPlusZ(), GetOuterRadiusMinusZ(), GetOuterRadiusPlusZ(), GetStartPhiAngle(), and GetZHalfLength().
|
virtual |
Implements VUSolid.
Definition at line 2090 of file UCons.cc.
References fDPhi, fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, fSPhi, UUtils::GetRadiusInRing(), UUtils::Random(), and UUtils::sqr().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by GetParametersList(), and G4UCons::GetStartPhiAngle().
|
inline |
Referenced by GetParametersList(), and G4UCons::GetZHalfLength().
|
inlineprivate |
|
inlineprivate |
|
inlinevirtual |
Implements VUSolid.
Definition at line 174 of file UCons.cc.
References ApproxSurfaceNormal(), UUtils::Exception(), fDPhi, fDz, fPhiFullCone, fRmax2, fRmin1, fRmin2, fSPhi, kAngTolerance, UUtils::kInfinity, UUtils::kPi, secRMax, secRMin, tanRMax, tanRMin, VUSolid::Tolerance(), UVector3::Unit(), UWarning, UVector3::x(), UVector3::y(), and UVector3::z().
Definition at line 130 of file UCons.cc.
References cosCPhi, cosEPhi, cosHDPhiIT, cosHDPhiOT, cosSPhi, fDPhi, fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, fSPhi, Initialize(), kAngTolerance, kRadTolerance, sinCPhi, sinEPhi, and sinSPhi.
|
virtual |
Implements VUSolid.
Definition at line 1995 of file UCons.cc.
References degree, VUSolid::eOutside, UUtils::Exception(), fDz, Inside(), SafetyFromInsideR(), UWarning, UVector3::x(), UVector3::y(), and UVector3::z().
|
inline |
Referenced by SafetyFromInside(), and UPolycone::SafetyFromInsideSection().
|
virtual |
Implements VUSolid.
Definition at line 1259 of file UCons.cc.
References fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, SafetyToPhi(), secRMax, secRMin, tanRMax, tanRMin, UVector3::x(), UVector3::y(), and UVector3::z().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
|
inlinevirtual |
Implements VUSolid.
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), CheckDPhiAngle(), DistanceToOut(), GetPointOnSurface(), Normal(), operator=(), and StreamInfo().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 202 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), CheckDPhiAngle(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Normal(), operator=(), and SafetyFromOutside().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), operator=(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), Normal(), operator=(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Normal(), operator=(), SafetyFromOutside(), StreamInfo(), and UCons().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Normal(), operator=(), SafetyFromOutside(), StreamInfo(), and UCons().
|
private |
Definition at line 193 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), CheckDPhiAngle(), DistanceToOut(), GetPointOnSurface(), Normal(), operator=(), and StreamInfo().
|
private |
Definition at line 189 of file UCons.hh.
Referenced by CheckDPhiAngle(), DistanceToOut(), Normal(), operator=(), and UCons().
|
private |
Definition at line 189 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), and UCons().
|
private |
Definition at line 206 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), and SafetyFromOutside().
|
private |
Definition at line 206 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), and SafetyFromOutside().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 197 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), and operator=().
|
private |
Definition at line 206 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), and SafetyFromOutside().
|
private |
Definition at line 206 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), and SafetyFromOutside().