Geant4
10.01.p02
|
#include <UGenericPolycone.hh>
Public Member Functions | |
UGenericPolycone (const std::string &name, double phiStart, double phiTotal, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[]) | |
UGenericPolycone (const std::string &name, double phiStart, double phiTotal, int numRZ, const double r[], const double z[]) | |
virtual | ~UGenericPolycone () |
VUSolid::EnumInside | Inside (const UVector3 &p) const |
double | DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const |
UVector3 | GetPointOnSurface () const |
UGeometryType | GetEntityType () const |
VUSolid * | Clone () const |
std::ostream & | StreamInfo (std::ostream &os) const |
bool | Reset () |
double | GetStartPhi () const |
double | GetEndPhi () const |
bool | IsOpen () const |
int | GetNumRZCorner () const |
UPolyconeSideRZ | GetCorner (int index) const |
UGenericPolycone (const UGenericPolycone &source) | |
UGenericPolycone & | operator= (const UGenericPolycone &source) |
Public Member Functions inherited from UVCSGfaceted | |
UVCSGfaceted (const std::string &name) | |
virtual | ~UVCSGfaceted () |
UVCSGfaceted (const UVCSGfaceted &source) | |
UVCSGfaceted & | operator= (const UVCSGfaceted &source) |
VUSolid::EnumInside | InsideNoVoxels (const UVector3 &p) const |
virtual bool | Normal (const UVector3 &p, UVector3 &n) const |
double | DistanceToInNoVoxels (const UVector3 &p, const UVector3 &v) const |
virtual double | SafetyFromOutside (const UVector3 &aPoint, bool aAccurate=false) const |
double | DistanceTo (const UVector3 &p, const bool outgoing) const |
double | DistanceToOutNoVoxels (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex) const |
virtual double | DistanceToOut (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex, double aPstep=UUtils::kInfinity) const |
virtual double | SafetyFromInside (const UVector3 &aPoint, bool aAccurate=false) const |
virtual double | SafetyFromInsideNoVoxels (const UVector3 &aPoint, bool aAccurate=false) const |
int | GetCubVolStatistics () const |
double | GetCubVolEpsilon () const |
void | SetCubVolStatistics (int st) |
void | SetCubVolEpsilon (double ep) |
int | GetAreaStatistics () const |
double | GetAreaAccuracy () const |
void | SetAreaStatistics (int st) |
void | SetAreaAccuracy (double ep) |
virtual double | Capacity () |
virtual double | SurfaceArea () |
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 |
Protected Member Functions | |
void | Create (double phiStart, double phiTotal, UReduciblePolygon *rz) |
void | CopyStuff (const UGenericPolycone &source) |
void | GetParametersList (int, double *) const |
void | ComputeBBox (UBBox *, bool) |
void | Extent (UVector3 &aMin, UVector3 &aMax) const |
Protected Member Functions inherited from UVCSGfaceted | |
double | SafetyFromInsideSection (int index, const UVector3 &p, UBits &bits) const |
int | GetSection (double z) const |
UVector3 | GetPointOnSurfaceGeneric () const |
void | CopyStuff (const UVCSGfaceted &source) |
void | DeleteStuff () |
void | FindCandidates (double z, std::vector< int > &candidates, bool sides=false) |
void | InitVoxels (UReduciblePolygon &z, double radius) |
Protected Attributes | |
double | startPhi |
double | endPhi |
bool | phiIsOpen |
int | numCorner |
UPolyconeSideRZ * | corners |
UEnclosingCylinder * | enclosingCylinder |
Protected Attributes inherited from UVCSGfaceted | |
int | numFace |
UVCSGface ** | faces |
double | fCubicVolume |
double | fSurfaceArea |
std::vector< double > | fZs |
std::vector< std::vector< int > > | fCandidates |
int | fMaxSection |
UBox | fBox |
double | fBoxShift |
bool | fNoVoxels |
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 |
Definition at line 39 of file UGenericPolycone.hh.
UGenericPolycone::UGenericPolycone | ( | const std::string & | name, |
double | phiStart, | ||
double | phiTotal, | ||
int | numZPlanes, | ||
const double | zPlane[], | ||
const double | rInner[], | ||
const double | rOuter[] | ||
) |
UGenericPolycone::UGenericPolycone | ( | const std::string & | name, |
double | phiStart, | ||
double | phiTotal, | ||
int | numRZ, | ||
const double | r[], | ||
const double | z[] | ||
) |
Definition at line 32 of file UGenericPolycone.cc.
References Create().
|
virtual |
Definition at line 242 of file UGenericPolycone.cc.
References corners, and enclosingCylinder.
UGenericPolycone::UGenericPolycone | ( | const UGenericPolycone & | source | ) |
Definition at line 252 of file UGenericPolycone.cc.
References CopyStuff().
|
virtual |
Implements VUSolid.
Definition at line 379 of file UGenericPolycone.cc.
References UGenericPolycone().
|
inlineprotectedvirtual |
Implements VUSolid.
Definition at line 119 of file UGenericPolycone.hh.
|
protected |
Definition at line 281 of file UGenericPolycone.cc.
References corners, enclosingCylinder, endPhi, numCorner, phiIsOpen, and startPhi.
Referenced by operator=(), and UGenericPolycone().
|
protected |
Definition at line 54 of file UGenericPolycone.cc.
References UReduciblePolygon::Amax(), UReduciblePolygon::Amin(), UReduciblePolygon::Area(), UReduciblePolygonIterator::Begin(), UReduciblePolygon::BisectedBy(), UReduciblePolygon::Bmax(), UReduciblePolygon::Bmin(), corners, UReduciblePolygon::CrossesItself(), enclosingCylinder, endPhi, UUtils::Exception(), UVCSGfaceted::faces, UVCSGfaceted::fMaxSection, UVCSGfaceted::fNoVoxels, UReduciblePolygonIterator::GetA(), UReduciblePolygonIterator::GetB(), VUSolid::GetName(), UVCSGfaceted::InitVoxels(), UUtils::kInfinity, UUtils::kPi, UReduciblePolygonIterator::Next(), numCorner, UVCSGfaceted::numFace, UReduciblePolygon::NumVertices(), phiIsOpen, UPolyconeSideRZ::r, UEnclosingCylinder::radius, UReduciblePolygon::RemoveDuplicateVertices(), UReduciblePolygon::RemoveRedundantVertices(), UReduciblePolygon::ReverseOrder(), startPhi, VUSolid::Tolerance(), UFatalErrorInArguments, and UPolyconeSideRZ::z.
Referenced by UGenericPolycone().
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 353 of file UGenericPolycone.cc.
References UVCSGfaceted::DistanceToIn(), enclosingCylinder, UUtils::kInfinity, and UEnclosingCylinder::ShouldMiss().
Implements VUSolid.
Definition at line 422 of file UGenericPolycone.cc.
References enclosingCylinder, and UEnclosingCylinder::Extent().
|
inline |
|
inline |
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 371 of file UGenericPolycone.cc.
|
inline |
|
inlineprotectedvirtual |
Implements VUSolid.
Definition at line 117 of file UGenericPolycone.hh.
|
virtual |
Implements VUSolid.
Definition at line 416 of file UGenericPolycone.cc.
References UVCSGfaceted::GetPointOnSurfaceGeneric().
|
inline |
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 333 of file UGenericPolycone.cc.
References enclosingCylinder, VUSolid::eOutside, UVCSGfaceted::Inside(), and UEnclosingCylinder::MustBeOutside().
|
inline |
UGenericPolycone & UGenericPolycone::operator= | ( | const UGenericPolycone & | source | ) |
Definition at line 262 of file UGenericPolycone.cc.
References CopyStuff(), corners, enclosingCylinder, and UVCSGfaceted::operator=().
bool UGenericPolycone::Reset | ( | ) |
Definition at line 314 of file UGenericPolycone.cc.
References VUSolid::GetName().
|
virtual |
Reimplemented from UVCSGfaceted.
Definition at line 387 of file UGenericPolycone.cc.
References corners, endPhi, VUSolid::GetName(), UUtils::kPi, numCorner, UPolyconeSideRZ::r, startPhi, and UPolyconeSideRZ::z.
|
protected |
Definition at line 135 of file UGenericPolycone.hh.
Referenced by CopyStuff(), Create(), operator=(), StreamInfo(), and ~UGenericPolycone().
|
protected |
Definition at line 139 of file UGenericPolycone.hh.
Referenced by CopyStuff(), Create(), DistanceToIn(), Extent(), Inside(), operator=(), and ~UGenericPolycone().
|
protected |
Definition at line 132 of file UGenericPolycone.hh.
Referenced by CopyStuff(), Create(), and StreamInfo().
|
protected |
Definition at line 134 of file UGenericPolycone.hh.
Referenced by CopyStuff(), Create(), and StreamInfo().
|
protected |
Definition at line 133 of file UGenericPolycone.hh.
Referenced by CopyStuff(), and Create().
|
protected |
Definition at line 131 of file UGenericPolycone.hh.
Referenced by CopyStuff(), Create(), and StreamInfo().