Geant4_10
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
UTubs Class Reference

#include <UTubs.hh>

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

Public Member Functions

 UTubs (const std::string &pName, double pRMin, double pRMax, double pDz, double pSPhi, double pDPhi)
 
virtual ~UTubs ()
 
double GetInnerRadius () const
 
double GetOuterRadius () const
 
double GetZHalfLength () const
 
double GetStartPhiAngle () const
 
double GetDeltaPhiAngle () const
 
void SetInnerRadius (double newRMin)
 
void SetOuterRadius (double newRMax)
 
void SetZHalfLength (double newDz)
 
void SetStartPhiAngle (double newSPhi, bool trig=true)
 
void SetDeltaPhiAngle (double newDPhi)
 
double Capacity ()
 
double SurfaceArea ()
 
VUSolid::EnumInside Inside (const UVector3 &p) const
 
bool Normal (const UVector3 &p, UVector3 &normal) const
 
double DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const
 
double SafetyFromInside (const UVector3 &p, bool precise=false) const
 
double DistanceToOut (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &validNorm, double aPstep=UUtils::kInfinity) const
 
double SafetyFromOutside (const UVector3 &p, bool precise=false) const
 
UGeometryType GetEntityType () const
 
UVector3 GetPointOnSurface () const
 
VUSolidClone () 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)
 
 UTubs ()
 
 UTubs (const UTubs &rhs)
 
UTubsoperator= (const UTubs &rhs)
 
double GetRMin () const
 
double GetRMax () 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
 

Protected Types

enum  ESide {
  kNull, kRMin, kRMax, kSPhi,
  kEPhi, kPZ, kMZ
}
 
enum  ENorm {
  kNRMin, kNRMax, kNSPhi, kNEPhi,
  kNZ
}
 

Protected Member Functions

void Initialize ()
 
void CheckSPhiAngle (double sPhi)
 
void CheckDPhiAngle (double dPhi)
 
void CheckPhiAngles (double sPhi, double dPhi)
 
void InitializeTrigonometry ()
 
virtual UVector3 ApproxSurfaceNormal (const UVector3 &p) const
 

Protected Attributes

double fCubicVolume
 
double fSurfaceArea
 
double kRadTolerance
 
double kAngTolerance
 
double fRMin
 
double fRMax
 
double fDz
 
double fSPhi
 
double fDPhi
 
double fSinCPhi
 
double fCosCPhi
 
double fCosHDPhiOT
 
double fCosHDPhiIT
 
double fSinSPhi
 
double fCosSPhi
 
double fSinEPhi
 
double fCosEPhi
 
double fSinSPhiDPhi
 
double fCosSPhiDPhi
 
bool fPhiFullTube
 

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 47 of file UTubs.hh.

Member Enumeration Documentation

enum UTubs::ENorm
protected
Enumerator
kNRMin 
kNRMax 
kNSPhi 
kNEPhi 
kNZ 

Definition at line 164 of file UTubs.hh.

enum UTubs::ESide
protected
Enumerator
kNull 
kRMin 
kRMax 
kSPhi 
kEPhi 
kPZ 
kMZ 

Definition at line 160 of file UTubs.hh.

Constructor & Destructor Documentation

UTubs::UTubs ( const std::string &  pName,
double  pRMin,
double  pRMax,
double  pDz,
double  pSPhi,
double  pDPhi 
)

Definition at line 30 of file UTubs.cc.

Here is the call graph for this function:

UTubs::~UTubs ( )
virtual

Definition at line 81 of file UTubs.cc.

UTubs::UTubs ( )

Definition at line 66 of file UTubs.cc.

Here is the caller graph for this function:

UTubs::UTubs ( const UTubs rhs)

Definition at line 89 of file UTubs.cc.

Member Function Documentation

UVector3 UTubs::ApproxSurfaceNormal ( const UVector3 p) const
protectedvirtual

Definition at line 473 of file UTubs.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UTubs::Capacity ( )
inlinevirtual

Implements VUSolid.

void UTubs::CheckDPhiAngle ( double  dPhi)
inlineprotected
void UTubs::CheckPhiAngles ( double  sPhi,
double  dPhi 
)
inlineprotected

Here is the caller graph for this function:

void UTubs::CheckSPhiAngle ( double  sPhi)
inlineprotected
VUSolid * UTubs::Clone ( ) const
virtual

Implements VUSolid.

Definition at line 1628 of file UTubs.cc.

Here is the call graph for this function:

virtual void UTubs::ComputeBBox ( UBBox ,
bool   
)
inlinevirtual

Implements VUSolid.

Definition at line 106 of file UTubs.hh.

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

Implements VUSolid.

Definition at line 614 of file UTubs.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UTubs::DistanceToOut ( const UVector3 p,
const UVector3 v,
UVector3 n,
bool &  validNorm,
double  aPstep = UUtils::kInfinity 
) const
virtual

Implements VUSolid.

Definition at line 1090 of file UTubs.cc.

Here is the call graph for this function:

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

Implements VUSolid.

Definition at line 1729 of file UTubs.cc.

double UTubs::GetDeltaPhiAngle ( ) const
inline

Here is the caller graph for this function:

double UTubs::GetDPhi ( ) const
inline
double UTubs::GetDz ( ) const
inline

Here is the caller graph for this function:

UGeometryType UTubs::GetEntityType ( ) const
virtual

Implements VUSolid.

Definition at line 1619 of file UTubs.cc.

double UTubs::GetInnerRadius ( ) const
inline

Here is the caller graph for this function:

double UTubs::GetOuterRadius ( ) const
inline

Here is the caller graph for this function:

void UTubs::GetParametersList ( int  ,
double *  aArray 
) const
virtual

Implements VUSolid.

Definition at line 1735 of file UTubs.cc.

Here is the call graph for this function:

UVector3 UTubs::GetPointOnSurface ( ) const
virtual

Implements VUSolid.

Definition at line 1660 of file UTubs.cc.

Here is the call graph for this function:

double UTubs::GetRMax ( ) const
inline

Here is the caller graph for this function:

double UTubs::GetRMin ( ) const
inline

Here is the caller graph for this function:

double UTubs::GetSPhi ( ) const
inline
double UTubs::GetStartPhiAngle ( ) const
inline

Here is the caller graph for this function:

double UTubs::GetZHalfLength ( ) const
inline

Here is the caller graph for this function:

void UTubs::Initialize ( )
inlineprotected
void UTubs::InitializeTrigonometry ( )
inlineprotected
VUSolid::EnumInside UTubs::Inside ( const UVector3 p) const
inlinevirtual

Implements VUSolid.

Definition at line 153 of file UTubs.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

bool UTubs::Normal ( const UVector3 p,
UVector3 normal 
) const
virtual

Implements VUSolid.

Definition at line 356 of file UTubs.cc.

Here is the call graph for this function:

UTubs & UTubs::operator= ( const UTubs rhs)

Definition at line 108 of file UTubs.cc.

double UTubs::SafetyFromInside ( const UVector3 p,
bool  precise = false 
) const
virtual

Implements VUSolid.

Definition at line 1543 of file UTubs.cc.

Here is the call graph for this function:

double UTubs::SafetyFromOutside ( const UVector3 p,
bool  precise = false 
) const
virtual

Implements VUSolid.

Definition at line 1030 of file UTubs.cc.

Here is the caller graph for this function:

void UTubs::SetDeltaPhiAngle ( double  newDPhi)
inline

Here is the caller graph for this function:

void UTubs::SetInnerRadius ( double  newRMin)
inline

Here is the caller graph for this function:

void UTubs::SetOuterRadius ( double  newRMax)
inline

Here is the caller graph for this function:

void UTubs::SetStartPhiAngle ( double  newSPhi,
bool  trig = true 
)
inline

Here is the caller graph for this function:

void UTubs::SetZHalfLength ( double  newDz)
inline

Here is the caller graph for this function:

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

Implements VUSolid.

Definition at line 1637 of file UTubs.cc.

Here is the call graph for this function:

double UTubs::SurfaceArea ( )
inlinevirtual

Implements VUSolid.

Member Data Documentation

double UTubs::fCosCPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCosEPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCosHDPhiIT
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCosHDPhiOT
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCosSPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCosSPhiDPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fCubicVolume
protected

Definition at line 157 of file UTubs.hh.

double UTubs::fDPhi
protected

Definition at line 170 of file UTubs.hh.

double UTubs::fDz
protected

Definition at line 170 of file UTubs.hh.

bool UTubs::fPhiFullTube
protected

Definition at line 179 of file UTubs.hh.

double UTubs::fRMax
protected

Definition at line 170 of file UTubs.hh.

double UTubs::fRMin
protected

Definition at line 170 of file UTubs.hh.

double UTubs::fSinCPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fSinEPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fSinSPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fSinSPhiDPhi
protected

Definition at line 174 of file UTubs.hh.

double UTubs::fSPhi
protected

Definition at line 170 of file UTubs.hh.

double UTubs::fSurfaceArea
protected

Definition at line 157 of file UTubs.hh.

double UTubs::kAngTolerance
protected

Definition at line 166 of file UTubs.hh.

double UTubs::kRadTolerance
protected

Definition at line 166 of file UTubs.hh.


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