Geant4  10.00.p03
G4PolyconeSide Class Reference

#include <G4PolyconeSide.hh>

+ Inheritance diagram for G4PolyconeSide:
+ Collaboration diagram for G4PolyconeSide:

Public Member Functions

 G4PolyconeSide (const G4PolyconeSideRZ *prevRZ, const G4PolyconeSideRZ *tail, const G4PolyconeSideRZ *head, const G4PolyconeSideRZ *nextRZ, G4double phiStart, G4double deltaPhi, G4bool phiIsOpen, G4bool isAllBehind=false)
 
virtual ~G4PolyconeSide ()
 
 G4PolyconeSide (const G4PolyconeSide &source)
 
G4PolyconeSideoperator= (const G4PolyconeSide &source)
 
G4bool Intersect (const G4ThreeVector &p, const G4ThreeVector &v, G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &isAllBehind)
 
G4double Distance (const G4ThreeVector &p, G4bool outgoing)
 
EInside Inside (const G4ThreeVector &p, G4double tolerance, G4double *bestDistance)
 
G4ThreeVector Normal (const G4ThreeVector &p, G4double *bestDistance)
 
G4double Extent (const G4ThreeVector axis)
 
void CalculateExtent (const EAxis axis, const G4VoxelLimits &voxelLimit, const G4AffineTransform &tranform, G4SolidExtentList &extentList)
 
G4VCSGfaceClone ()
 
G4double SurfaceArea ()
 
G4ThreeVector GetPointOnFace ()
 
 G4PolyconeSide (__void__ &)
 
G4int GetInstanceID () const
 
- Public Member Functions inherited from G4VCSGface
 G4VCSGface ()
 
virtual ~G4VCSGface ()
 

Static Public Member Functions

static const G4PlSideManagerGetSubInstanceManager ()
 

Protected Member Functions

G4double DistanceAway (const G4ThreeVector &p, G4bool opposite, G4double &distOutside2, G4double *rzNorm=0)
 
G4bool PointOnCone (const G4ThreeVector &hit, G4double normSign, const G4ThreeVector &p, const G4ThreeVector &v, G4ThreeVector &normal)
 
void CopyStuff (const G4PolyconeSide &source)
 
G4double GetPhi (const G4ThreeVector &p)
 

Static Protected Member Functions

static void FindLineIntersect (G4double x1, G4double y1, G4double tx1, G4double ty1, G4double x2, G4double y2, G4double tx2, G4double ty2, G4double &x, G4double &y)
 

Protected Attributes

G4double r [2]
 
G4double z [2]
 
G4double startPhi
 
G4double deltaPhi
 
G4bool phiIsOpen
 
G4bool allBehind
 
G4IntersectingConecone
 
G4double rNorm
 
G4double zNorm
 
G4double rS
 
G4double zS
 
G4double length
 
G4double prevRS
 
G4double prevZS
 
G4double nextRS
 
G4double nextZS
 
G4double rNormEdge [2]
 
G4double zNormEdge [2]
 
G4int ncorners
 
G4ThreeVectorcorners
 

Private Attributes

G4double kCarTolerance
 
G4double fSurfaceArea
 
G4int instanceID
 

Static Private Attributes

static G4GEOM_DLL G4PlSideManager subInstanceManager
 

Detailed Description

Definition at line 102 of file G4PolyconeSide.hh.

Constructor & Destructor Documentation

G4PolyconeSide::G4PolyconeSide ( const G4PolyconeSideRZ prevRZ,
const G4PolyconeSideRZ tail,
const G4PolyconeSideRZ head,
const G4PolyconeSideRZ nextRZ,
G4double  phiStart,
G4double  deltaPhi,
G4bool  phiIsOpen,
G4bool  isAllBehind = false 
)

Definition at line 74 of file G4PolyconeSide.cc.

References allBehind, cone, corners, G4GeomSplitter< T >::CreateSubInstance(), deltaPhi, fSurfaceArea, G4MT_pcphi, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), instanceID, kCarTolerance, length, ncorners, nextRS, nextZS, phiIsOpen, prevRS, prevZS, G4PolyconeSideRZ::r, r, rNorm, rNormEdge, rS, startPhi, subInstanceManager, G4PolyconeSideRZ::z, z, zNorm, zNormEdge, and zS.

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PolyconeSide::~G4PolyconeSide ( )
virtual

Definition at line 196 of file G4PolyconeSide.cc.

References cone, corners, and phiIsOpen.

G4PolyconeSide::G4PolyconeSide ( const G4PolyconeSide source)

Definition at line 206 of file G4PolyconeSide.cc.

References CopyStuff(), G4GeomSplitter< T >::CreateSubInstance(), instanceID, and subInstanceManager.

+ Here is the call graph for this function:

G4PolyconeSide::G4PolyconeSide ( __void__ &  )

Definition at line 180 of file G4PolyconeSide.cc.

References r, rNormEdge, z, and zNormEdge.

Member Function Documentation

void G4PolyconeSide::CalculateExtent ( const EAxis  axis,
const G4VoxelLimits voxelLimit,
const G4AffineTransform tranform,
G4SolidExtentList extentList 
)
virtual
G4VCSGface* G4PolyconeSide::Clone ( )
inlinevirtual

Implements G4VCSGface.

Definition at line 136 of file G4PolyconeSide.hh.

References G4PolyconeSide().

+ Here is the call graph for this function:

void G4PolyconeSide::CopyStuff ( const G4PolyconeSide source)
protected

Definition at line 234 of file G4PolyconeSide.cc.

References allBehind, cone, corners, deltaPhi, fSurfaceArea, kCarTolerance, length, ncorners, nextRS, nextZS, phiIsOpen, prevRS, prevZS, r, rNorm, rNormEdge, rS, startPhi, z, zNorm, zNormEdge, and zS.

Referenced by G4PolyconeSide(), and operator=().

+ Here is the caller graph for this function:

G4double G4PolyconeSide::Distance ( const G4ThreeVector p,
G4bool  outgoing 
)
virtual

Implements G4VCSGface.

Definition at line 411 of file G4PolyconeSide.cc.

References DistanceAway(), kCarTolerance, and kInfinity.

+ Here is the call graph for this function:

G4double G4PolyconeSide::DistanceAway ( const G4ThreeVector p,
G4bool  opposite,
G4double distOutside2,
G4double rzNorm = 0 
)
protected

Definition at line 928 of file G4PolyconeSide.cc.

References d1, d2, deltaPhi, GetPhi(), length, G4INCL::Math::max(), phiIsOpen, r, rNorm, rNormEdge, rS, sqr(), startPhi, z, zNorm, zNormEdge, and zS.

Referenced by Distance(), Inside(), Intersect(), and Normal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolyconeSide::Extent ( const G4ThreeVector  axis)
virtual

Implements G4VCSGface.

Definition at line 510 of file G4PolyconeSide.cc.

References a, cd, cone, DBL_MIN, deltaPhi, GetPhi(), phiIsOpen, r, startPhi, z, G4IntersectingCone::ZHi(), and G4IntersectingCone::ZLo().

+ Here is the call graph for this function:

void G4PolyconeSide::FindLineIntersect ( G4double  x1,
G4double  y1,
G4double  tx1,
G4double  ty1,
G4double  x2,
G4double  y2,
G4double  tx2,
G4double  ty2,
G4double x,
G4double y 
)
staticprotected

Definition at line 1084 of file G4PolyconeSide.cc.

Referenced by CalculateExtent().

+ Here is the caller graph for this function:

G4int G4PolyconeSide::GetInstanceID ( ) const
inline

Definition at line 148 of file G4PolyconeSide.hh.

References instanceID.

G4double G4PolyconeSide::GetPhi ( const G4ThreeVector p)
protected

Definition at line 893 of file G4PolyconeSide.cc.

References G4MT_pcphi.

Referenced by DistanceAway(), Extent(), and PointOnCone().

+ Here is the caller graph for this function:

G4ThreeVector G4PolyconeSide::GetPointOnFace ( )
virtual

Implements G4VCSGface.

Definition at line 1122 of file G4PolyconeSide.cc.

References deltaPhi, G4UniformRand, r, startPhi, and z.

const G4PlSideManager & G4PolyconeSide::GetSubInstanceManager ( )
static

Definition at line 63 of file G4PolyconeSide.cc.

References subInstanceManager.

Referenced by G4SolidsWorkspace::G4SolidsWorkspace().

+ Here is the caller graph for this function:

EInside G4PolyconeSide::Inside ( const G4ThreeVector p,
G4double  tolerance,
G4double bestDistance 
)
virtual

Implements G4VCSGface.

Definition at line 451 of file G4PolyconeSide.cc.

References DistanceAway(), kInside, kOutside, and kSurface.

+ Here is the call graph for this function:

G4bool G4PolyconeSide::Intersect ( const G4ThreeVector p,
const G4ThreeVector v,
G4bool  outgoing,
G4double  surfTolerance,
G4double distance,
G4double distFromSurface,
G4ThreeVector normal,
G4bool isAllBehind 
)
virtual

Implements G4VCSGface.

Definition at line 282 of file G4PolyconeSide.cc.

References allBehind, cone, DBL_MIN, DistanceAway(), G4IntersectingCone::LineHitsCone(), PointOnCone(), rNorm, and zNorm.

+ Here is the call graph for this function:

G4ThreeVector G4PolyconeSide::Normal ( const G4ThreeVector p,
G4double bestDistance 
)
virtual

Implements G4VCSGface.

Definition at line 490 of file G4PolyconeSide.cc.

References DistanceAway(), rNorm, and zNorm.

+ Here is the call graph for this function:

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

Definition at line 218 of file G4PolyconeSide.cc.

References cone, CopyStuff(), corners, and phiIsOpen.

+ Here is the call graph for this function:

G4bool G4PolyconeSide::PointOnCone ( const G4ThreeVector hit,
G4double  normSign,
const G4ThreeVector p,
const G4ThreeVector v,
G4ThreeVector normal 
)
protected

Definition at line 1015 of file G4PolyconeSide.cc.

References cone, corners, DBL_MIN, deltaPhi, GetPhi(), G4IntersectingCone::HitOn(), kCarTolerance, phiIsOpen, rNorm, startPhi, and zNorm.

Referenced by Intersect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolyconeSide::SurfaceArea ( )
virtual

Implements G4VCSGface.

Definition at line 1109 of file G4PolyconeSide.cc.

References deltaPhi, fSurfaceArea, r, sqr(), and z.

+ Here is the call graph for this function:

Member Data Documentation

G4bool G4PolyconeSide::allBehind
protected

Definition at line 179 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), G4PolyconeSide(), and Intersect().

G4IntersectingCone* G4PolyconeSide::cone
protected
G4ThreeVector* G4PolyconeSide::corners
protected

Definition at line 195 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), G4PolyconeSide(), operator=(), PointOnCone(), and ~G4PolyconeSide().

G4double G4PolyconeSide::deltaPhi
protected
G4double G4PolyconeSide::fSurfaceArea
private

Definition at line 200 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), G4PolyconeSide(), and SurfaceArea().

G4int G4PolyconeSide::instanceID
private

Definition at line 202 of file G4PolyconeSide.hh.

Referenced by G4PolyconeSide(), and GetInstanceID().

G4double G4PolyconeSide::kCarTolerance
private

Definition at line 199 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), Distance(), G4PolyconeSide(), and PointOnCone().

G4double G4PolyconeSide::length
protected

Definition at line 185 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), DistanceAway(), and G4PolyconeSide().

G4int G4PolyconeSide::ncorners
protected

Definition at line 194 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), and G4PolyconeSide().

G4double G4PolyconeSide::nextRS
protected

Definition at line 188 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), and G4PolyconeSide().

G4double G4PolyconeSide::nextZS
protected

Definition at line 188 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), and G4PolyconeSide().

G4bool G4PolyconeSide::phiIsOpen
protected
G4double G4PolyconeSide::prevRS
protected

Definition at line 186 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), and G4PolyconeSide().

G4double G4PolyconeSide::prevZS
protected

Definition at line 186 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), and G4PolyconeSide().

G4double G4PolyconeSide::r[2]
protected
G4double G4PolyconeSide::rNorm
protected
G4double G4PolyconeSide::rNormEdge[2]
protected

Definition at line 191 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), DistanceAway(), and G4PolyconeSide().

G4double G4PolyconeSide::rS
protected

Definition at line 184 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), and G4PolyconeSide().

G4double G4PolyconeSide::startPhi
protected
G4PlSideManager G4PolyconeSide::subInstanceManager
staticprivate

Definition at line 204 of file G4PolyconeSide.hh.

Referenced by G4PolyconeSide(), and GetSubInstanceManager().

G4double G4PolyconeSide::z[2]
protected
G4double G4PolyconeSide::zNorm
protected
G4double G4PolyconeSide::zNormEdge[2]
protected

Definition at line 191 of file G4PolyconeSide.hh.

Referenced by CopyStuff(), DistanceAway(), and G4PolyconeSide().

G4double G4PolyconeSide::zS
protected

Definition at line 184 of file G4PolyconeSide.hh.

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), and G4PolyconeSide().


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