Geant4
10.00.p01
|
#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 | GetCubicVolume () |
double | GetSurfaceArea () |
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) 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) 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) |
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 | |
double | Capacity () |
double | SurfaceArea () |
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(), FatalErrorInArguments, VUSolid::faTolerance, fRmin1, fRmin2, VUSolid::frTolerance, VUSolid::GetName(), Initialize(), kAngTolerance, and kRadTolerance.
UCons::UCons | ( | ) |
Definition at line 93 of file UCons.cc.
References Initialize().
Referenced by Clone().
UCons::UCons | ( | const UCons & | rhs | ) |
Definition at line 115 of file UCons.cc.
References Initialize().
Definition at line 299 of file UCons.cc.
References UUtils::Exception(), fDPhi, fDz, fPhiFullCone, fRmax2, fRmin2, fSPhi, kNEPhi, kNRMax, kNRMin, kNSPhi, kNZ, UUtils::kPi, secRMax, secRMin, tanRMax, tanRMin, Warning, UVector3::x, UVector3::y, and UVector3::z.
Referenced by Normal().
|
inlineprivatevirtual |
Implements VUSolid.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
virtual |
|
inlinevirtual |
|
virtual |
Implements VUSolid.
Definition at line 441 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 1355 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(), Warning, UVector3::x, UVector3::y, and UVector3::z.
|
inline |
|
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 2237 of file UCons.cc.
References GetDeltaPhiAngle(), GetInnerRadiusMinusZ(), GetInnerRadiusPlusZ(), GetOuterRadiusMinusZ(), GetOuterRadiusPlusZ(), GetStartPhiAngle(), and GetZHalfLength().
|
virtual |
Implements VUSolid.
Definition at line 2135 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 |
|
inline |
Referenced by GetParametersList(), and G4UCons::GetZHalfLength().
|
inlineprivate |
|
inlineprivate |
|
inlinevirtual |
Implements VUSolid.
Definition at line 127 of file UCons.hh.
References VUSolid::eInside, VUSolid::eOutside, VUSolid::eSurface, fDPhi, fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, fSPhi, kAngTolerance, UUtils::kPi, kRadTolerance, VUSolid::Tolerance(), UVector3::x, UVector3::y, and UVector3::z.
Referenced by SafetyFromInside().
Implements VUSolid.
Definition at line 175 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(), Warning, UVector3::x, UVector3::y, and UVector3::z.
Definition at line 131 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 1999 of file UCons.cc.
References cosCPhi, cosEPhi, cosSPhi, degree, VUSolid::eOutside, UUtils::Exception(), fDz, fPhiFullCone, fRmax1, fRmax2, fRmin1, fRmin2, Inside(), UUtils::kInfinity, secRMax, secRMin, sinCPhi, sinEPhi, sinSPhi, tanRMax, tanRMin, Warning, UVector3::x, UVector3::y, and UVector3::z.
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
|
inlineprivatevirtual |
Implements VUSolid.
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), and operator=().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), and operator=().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), and SafetyFromInside().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToOut(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 290 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), Inside(), operator=(), SafetyFromInside(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Extent(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), StreamInfo(), and UCons().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromInside(), SafetyFromOutside(), StreamInfo(), and UCons().
|
private |
Definition at line 281 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToOut(), GetPointOnSurface(), Inside(), Normal(), operator=(), SafetyFromOutside(), and StreamInfo().
|
private |
Definition at line 277 of file UCons.hh.
Referenced by DistanceToOut(), Inside(), Normal(), operator=(), and UCons().
|
private |
Definition at line 277 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), operator=(), and UCons().
|
private |
Definition at line 292 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 292 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 285 of file UCons.hh.
Referenced by DistanceToIn(), DistanceToOut(), operator=(), and SafetyFromInside().
|
private |
Definition at line 292 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), SafetyFromInside(), and SafetyFromOutside().
|
private |
Definition at line 292 of file UCons.hh.
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), Normal(), SafetyFromInside(), and SafetyFromOutside().