Geant4_10
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
UPolycone Class Reference

#include <UPolycone.hh>

Inheritance diagram for UPolycone:
Inheritance graph
[legend]
Collaboration diagram for UPolycone:
Collaboration graph
[legend]

Classes

struct  UPolyconeSection
 

Public Member Functions

void Init (double phiStart, double phiTotal, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[])
 
 UPolycone (const std::string &name)
 
 UPolycone (const std::string &name, double phiStart, double phiTotal, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[])
 
 UPolycone (const std::string &name, double phiStart, double phiTotal, int numRZ, const double r[], const double z[])
 
virtual ~UPolycone ()
 
void Reset ()
 
std::ostream & StreamInfo (std::ostream &os) const
 
VUSolid::EnumInside Inside (const UVector3 &p) const
 
double DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const
 
double SafetyFromInside (const UVector3 &aPoint, bool aAccurate=false) const
 
double SafetyFromOutside (const UVector3 &aPoint, bool aAccurate=false) 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 ()
 
UGeometryType GetEntityType () const
 
void ComputeBBox (UBBox *, bool)
 
void GetParametersList (int, double *) const
 
VUSolidClone () const
 
 UPolycone (const UPolycone &source)
 
UPolyconeoperator= (const UPolycone &source)
 
void CopyStuff (const UPolycone &source)
 
UVector3 GetPointOnSurface () const
 
UVector3 GetPointOnCone (double fRmin1, double fRmax1, double fRmin2, double fRmax2, double zOne, double zTwo, double &totArea) const
 
UVector3 GetPointOnTubs (double fRMin, double fRMax, double zOne, double zTwo, double &totArea) const
 
UVector3 GetPointOnCut (double fRMin1, double fRMax1, double fRMin2, double fRMax2, double zOne, double zTwo, double &totArea) const
 
UVector3 GetPointOnRing (double fRMin, double fRMax, double fRMin2, double fRMax2, double zOne) const
 
double GetStartPhi () const
 
double GetEndPhi () const
 
bool IsOpen () const
 
bool IsGeneric () const
 
int GetNumRZCorner () const
 
UPolyconeSideRZ GetCorner (int index) const
 
UPolyconeHistoricalGetOriginalParameters () const
 
void SetOriginalParameters (UPolyconeHistorical *pars)
 
- 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

bool SetOriginalParameters (UReduciblePolygon *rz)
 
void SetOriginalParameters ()
 
VUSolid::EnumInside InsideSection (int index, const UVector3 &p) const
 
double SafetyFromInsideSection (int index, const UVector3 &p) const
 
double SafetyFromOutsideSection (int index, const UVector3 &p) const
 
bool NormalSection (int index, const UVector3 &p, UVector3 &n) const
 
int GetSection (double z) const
 

Protected Attributes

double startPhi
 
double endPhi
 
bool phiIsOpen
 
int numCorner
 
UPolyconeSideRZcorners
 
UPolyconeHistoricalfOriginalParameters
 
double fCubicVolume
 
double fSurfaceArea
 
UEnclosingCylinderenclosingCylinder
 
std::vector< double > fZs
 
std::vector< UPolyconeSectionfSections
 
int fMaxSection
 

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
 

Detailed Description

Definition at line 68 of file UPolycone.hh.

Constructor & Destructor Documentation

UPolycone::UPolycone ( const std::string &  name)
inline

Definition at line 81 of file UPolycone.hh.

Here is the caller graph for this function:

UPolycone::UPolycone ( const std::string &  name,
double  phiStart,
double  phiTotal,
int  numZPlanes,
const double  zPlane[],
const double  rInner[],
const double  rOuter[] 
)

Definition at line 34 of file UPolycone.cc.

Here is the call graph for this function:

UPolycone::UPolycone ( const std::string &  name,
double  phiStart,
double  phiTotal,
int  numRZ,
const double  r[],
const double  z[] 
)

Definition at line 49 of file UPolycone.cc.

Here is the call graph for this function:

UPolycone::~UPolycone ( )
virtual

Definition at line 324 of file UPolycone.cc.

UPolycone::UPolycone ( const UPolycone source)

Definition at line 1225 of file UPolycone.cc.

Here is the call graph for this function:

Member Function Documentation

double UPolycone::Capacity ( )
virtual

Implements VUSolid.

Definition at line 760 of file UPolycone.cc.

Here is the call graph for this function:

VUSolid * UPolycone::Clone ( ) const
virtual

Implements VUSolid.

Definition at line 1218 of file UPolycone.cc.

Here is the call graph for this function:

void UPolycone::ComputeBBox ( UBBox ,
bool   
)
inlinevirtual

Implements VUSolid.

Definition at line 134 of file UPolycone.hh.

void UPolycone::CopyStuff ( const UPolycone source)

Definition at line 1251 of file UPolycone.cc.

Here is the caller graph for this function:

double UPolycone::DistanceToIn ( const UVector3 p,
const UVector3 v,
double  aPstep = UUtils::kInfinity 
) const
virtual

Implements VUSolid.

Definition at line 490 of file UPolycone.cc.

Here is the call graph for this function:

double UPolycone::DistanceToOut ( const UVector3 aPoint,
const UVector3 aDirection,
UVector3 aNormalVector,
bool &  aConvex,
double  aPstep = UUtils::kInfinity 
) const
virtual

Implements VUSolid.

Definition at line 532 of file UPolycone.cc.

Here is the call graph for this function:

void UPolycone::Extent ( UVector3 aMin,
UVector3 aMax 
) const
virtual

Implements VUSolid.

Definition at line 753 of file UPolycone.cc.

Here is the call graph for this function:

UPolyconeSideRZ UPolycone::GetCorner ( int  index) const
inline

Definition at line 191 of file UPolycone.hh.

Here is the caller graph for this function:

double UPolycone::GetEndPhi ( ) const
inline

Definition at line 171 of file UPolycone.hh.

Here is the caller graph for this function:

UGeometryType UPolycone::GetEntityType ( ) const
virtual

Implements VUSolid.

Definition at line 1274 of file UPolycone.cc.

int UPolycone::GetNumRZCorner ( ) const
inline

Definition at line 186 of file UPolycone.hh.

Here is the caller graph for this function:

UPolyconeHistorical* UPolycone::GetOriginalParameters ( ) const
inline

Definition at line 196 of file UPolycone.hh.

Here is the caller graph for this function:

void UPolycone::GetParametersList ( int  ,
double *   
) const
inlinevirtual

Implements VUSolid.

Definition at line 137 of file UPolycone.hh.

UVector3 UPolycone::GetPointOnCone ( double  fRmin1,
double  fRmax1,
double  fRmin2,
double  fRmax2,
double  zOne,
double  zTwo,
double &  totArea 
) const

Definition at line 844 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

UVector3 UPolycone::GetPointOnCut ( double  fRMin1,
double  fRMax1,
double  fRMin2,
double  fRMax2,
double  zOne,
double  zTwo,
double &  totArea 
) const

Definition at line 1055 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

UVector3 UPolycone::GetPointOnRing ( double  fRMin,
double  fRMax,
double  fRMin2,
double  fRMax2,
double  zOne 
) const

Definition at line 1007 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

UVector3 UPolycone::GetPointOnSurface ( ) const
virtual

Implements VUSolid.

Definition at line 1075 of file UPolycone.cc.

Here is the call graph for this function:

UVector3 UPolycone::GetPointOnTubs ( double  fRMin,
double  fRMax,
double  zOne,
double  zTwo,
double &  totArea 
) const

Definition at line 948 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int UPolycone::GetSection ( double  z) const
inlineprotected

Definition at line 287 of file UPolycone.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

double UPolycone::GetStartPhi ( ) const
inline

Definition at line 166 of file UPolycone.hh.

Here is the caller graph for this function:

void UPolycone::Init ( double  phiStart,
double  phiTotal,
int  numZPlanes,
const double  zPlane[],
const double  rInner[],
const double  rOuter[] 
)

Definition at line 107 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

VUSolid::EnumInside UPolycone::Inside ( const UVector3 p) const
virtual

Implements VUSolid.

Definition at line 441 of file UPolycone.cc.

Here is the call graph for this function:

VUSolid::EnumInside UPolycone::InsideSection ( int  index,
const UVector3 p 
) const
inlineprotected

Definition at line 373 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

bool UPolycone::IsGeneric ( ) const
inline

Definition at line 181 of file UPolycone.hh.

bool UPolycone::IsOpen ( ) const
inline

Definition at line 176 of file UPolycone.hh.

Here is the caller graph for this function:

bool UPolycone::Normal ( const UVector3 aPoint,
UVector3 aNormal 
) const
virtual

Implements VUSolid.

Definition at line 668 of file UPolycone.cc.

Here is the call graph for this function:

bool UPolycone::NormalSection ( int  index,
const UVector3 p,
UVector3 n 
) const
inlineprotected

Definition at line 279 of file UPolycone.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

UPolycone & UPolycone::operator= ( const UPolycone source)

Definition at line 1234 of file UPolycone.cc.

Here is the call graph for this function:

void UPolycone::Reset ( )

Definition at line 1492 of file UPolycone.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UPolycone::SafetyFromInside ( const UVector3 aPoint,
bool  aAccurate = false 
) const
virtual

Implements VUSolid.

Definition at line 606 of file UPolycone.cc.

Here is the call graph for this function:

double UPolycone::SafetyFromInsideSection ( int  index,
const UVector3 p 
) const
inlineprotected

Definition at line 263 of file UPolycone.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

double UPolycone::SafetyFromOutside ( const UVector3 aPoint,
bool  aAccurate = false 
) const
virtual

Implements VUSolid.

Definition at line 639 of file UPolycone.cc.

Here is the call graph for this function:

double UPolycone::SafetyFromOutsideSection ( int  index,
const UVector3 p 
) const
inlineprotected

Definition at line 271 of file UPolycone.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

void UPolycone::SetOriginalParameters ( UPolyconeHistorical pars)
inline

Definition at line 201 of file UPolycone.hh.

bool UPolycone::SetOriginalParameters ( UReduciblePolygon rz)
protected

Definition at line 1281 of file UPolycone.cc.

Here is the call graph for this function:

void UPolycone::SetOriginalParameters ( )
inlineprotected

Definition at line 224 of file UPolycone.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & UPolycone::StreamInfo ( std::ostream &  os) const
virtual

Implements VUSolid.

Definition at line 335 of file UPolycone.cc.

Here is the call graph for this function:

double UPolycone::SurfaceArea ( )
virtual

Implements VUSolid.

Definition at line 777 of file UPolycone.cc.

Here is the call graph for this function:

Member Data Documentation

UPolyconeSideRZ* UPolycone::corners
protected

Definition at line 219 of file UPolycone.hh.

UEnclosingCylinder* UPolycone::enclosingCylinder
protected

Definition at line 246 of file UPolycone.hh.

double UPolycone::endPhi
protected

Definition at line 216 of file UPolycone.hh.

double UPolycone::fCubicVolume
protected

Definition at line 221 of file UPolycone.hh.

int UPolycone::fMaxSection
protected

Definition at line 259 of file UPolycone.hh.

UPolyconeHistorical* UPolycone::fOriginalParameters
protected

Definition at line 220 of file UPolycone.hh.

std::vector<UPolyconeSection> UPolycone::fSections
protected

Definition at line 258 of file UPolycone.hh.

double UPolycone::fSurfaceArea
protected

Definition at line 222 of file UPolycone.hh.

std::vector<double> UPolycone::fZs
protected

Definition at line 257 of file UPolycone.hh.

int UPolycone::numCorner
protected

Definition at line 218 of file UPolycone.hh.

bool UPolycone::phiIsOpen
protected

Definition at line 217 of file UPolycone.hh.

double UPolycone::startPhi
protected

Definition at line 215 of file UPolycone.hh.


The documentation for this class was generated from the following files: