ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4PolyconeSide Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/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=nullptr)
 
G4double DistanceAway (const G4ThreeVector &p, G4double &distOutside2, G4double *edgeRZnorm)
 
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 = false
 
G4bool allBehind = false
 
G4IntersectingConecone = nullptr
 
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 = 0
 
G4ThreeVectorcorners = nullptr
 

Private Attributes

G4double kCarTolerance
 
G4double fSurfaceArea = 0.0
 
G4int instanceID
 

Static Private Attributes

static G4GEOM_DLL G4PlSideManager subInstanceManager
 

Detailed Description

Definition at line 87 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 87 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 67 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 67 of file G4PolyconeSide.cc

References allBehind, cone, corners, G4GeomSplitter< T >::CreateSubInstance(), deltaPhi, G4MT_pcphik, G4MT_pcphix, G4MT_pcphiy, G4MT_pcphiz, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), instanceID, kCarTolerance, length, ncorners, nextRS, nextZS, phiIsOpen, prevRS, prevZS, G4PolyconeSideRZ::r, r, rNorm, rNormEdge, rS, startPhi, subInstanceManager, twopi, 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 183 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 183 of file G4PolyconeSide.cc

References cone, corners, and phiIsOpen.

G4PolyconeSide::G4PolyconeSide ( const G4PolyconeSide source)

Definition at line 191 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 191 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 169 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 169 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 121 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 121 of file G4PolyconeSide.hh

References G4PolyconeSide().

+ Here is the call graph for this function:

void G4PolyconeSide::CopyStuff ( const G4PolyconeSide source)
protected

Definition at line 215 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 215 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 391 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 391 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 = nullptr 
)
protected

Definition at line 887 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 887 of file G4PolyconeSide.cc

References d1, d2, deltaPhi, deltaR(), GetPhi(), length, max, CLHEP::Hep3Vector::perp(), phi, phiIsOpen, r, rNorm, rNormEdge, rS, sqr(), startPhi, twopi, CLHEP::Hep3Vector::z(), 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::DistanceAway ( const G4ThreeVector p,
G4double distOutside2,
G4double edgeRZnorm 
)
protected

Definition at line 976 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 976 of file G4PolyconeSide.cc

References d1, d2, deltaPhi, deltaR(), GetPhi(), length, max, part, CLHEP::Hep3Vector::perp(), phi, phiIsOpen, r, rNorm, rNormEdge, rS, sqr(), startPhi, twopi, CLHEP::Hep3Vector::z(), z, zNorm, zNormEdge, and zS.

+ Here is the call graph for this function:

G4double G4PolyconeSide::Extent ( const G4ThreeVector  axis)
virtual

Implements G4VCSGface.

Definition at line 472 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 472 of file G4PolyconeSide.cc

References a, b, c, cd, cone, d, DBL_MIN, deltaPhi, CLHEP::Hep3Vector::dot(), GetPhi(), CLHEP::Hep3Vector::perp(), CLHEP::Hep3Vector::perp2(), phi, phiIsOpen, r, startPhi, twopi, CLHEP::Hep3Vector::z(), 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 1134 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 1134 of file G4PolyconeSide.cc

References s1, and x1.

Referenced by CalculateExtent().

+ Here is the caller graph for this function:

G4int G4PolyconeSide::GetInstanceID ( ) const
inline

Definition at line 133 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 133 of file G4PolyconeSide.hh

References instanceID.

G4double G4PolyconeSide::GetPhi ( const G4ThreeVector p)
protected

Definition at line 852 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 852 of file G4PolyconeSide.cc

References G4MT_pcphik, G4MT_pcphix, G4MT_pcphiy, G4MT_pcphiz, CLHEP::Hep3Vector::phi(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4PolyconeSide::GetPointOnFace ( )
virtual

Implements G4VCSGface.

Definition at line 1170 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 1170 of file G4PolyconeSide.cc

References deltaPhi, dz, G4UniformRand, phi, r, startPhi, x, y, z, and zz.

const G4PlSideManager & G4PolyconeSide::GetSubInstanceManager ( )
static

Definition at line 57 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 57 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 429 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 429 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 261 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 261 of file G4PolyconeSide.cc

References allBehind, cone, DBL_MIN, DistanceAway(), G4IntersectingCone::LineHitsCone(), CLHEP::Hep3Vector::perp(), PointOnCone(), gammaraytel::pr, rNorm, s1, v, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and zNorm.

+ Here is the call graph for this function:

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

Implements G4VCSGface.

Definition at line 454 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 454 of file G4PolyconeSide.cc

References DistanceAway(), CLHEP::Hep3Vector::perp(), rNorm, CLHEP::Hep3Vector::unit(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and zNorm.

+ Here is the call graph for this function:

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

Definition at line 201 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 201 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 1066 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 1066 of file G4PolyconeSide.cc

References cone, corners, CLHEP::Hep3Vector::cross(), DBL_MIN, deltaPhi, CLHEP::Hep3Vector::dot(), GetPhi(), G4IntersectingCone::HitOn(), kCarTolerance, CLHEP::Hep3Vector::perp(), phi, phiIsOpen, rNorm, startPhi, twopi, v, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), CLHEP::Hep3Vector::z(), 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 1158 of file G4PolyconeSide.cc.

View newest version in sPHENIX GitHub at line 1158 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 = false
protected

Definition at line 168 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 168 of file G4PolyconeSide.hh

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

G4IntersectingCone* G4PolyconeSide::cone = nullptr
protected

Definition at line 170 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 170 of file G4PolyconeSide.hh

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

G4ThreeVector* G4PolyconeSide::corners = nullptr
protected

Definition at line 184 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 184 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::deltaPhi
protected

Definition at line 165 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 165 of file G4PolyconeSide.hh

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), Extent(), G4PolyconeSide(), GetPointOnFace(), PointOnCone(), and SurfaceArea().

G4double G4PolyconeSide::fSurfaceArea = 0.0
private

Definition at line 189 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 189 of file G4PolyconeSide.hh

Referenced by CopyStuff(), and SurfaceArea().

G4int G4PolyconeSide::instanceID
private

Definition at line 191 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 191 of file G4PolyconeSide.hh

Referenced by G4PolyconeSide(), and GetInstanceID().

G4double G4PolyconeSide::kCarTolerance
private

Definition at line 188 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 188 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::length
protected

Definition at line 174 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 174 of file G4PolyconeSide.hh

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

G4int G4PolyconeSide::ncorners = 0
protected

Definition at line 183 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 183 of file G4PolyconeSide.hh

Referenced by CopyStuff(), and G4PolyconeSide().

G4double G4PolyconeSide::nextRS
protected

Definition at line 177 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 177 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::nextZS
protected

Definition at line 177 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 177 of file G4PolyconeSide.hh

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

G4bool G4PolyconeSide::phiIsOpen = false
protected

Definition at line 167 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 167 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::prevRS
protected

Definition at line 175 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 175 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::prevZS
protected

Definition at line 175 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 175 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::r[2]
protected

Definition at line 164 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 164 of file G4PolyconeSide.hh

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), Extent(), G4PolyconeSide(), GetPointOnFace(), and SurfaceArea().

G4double G4PolyconeSide::rNorm
protected

Definition at line 172 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 172 of file G4PolyconeSide.hh

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), G4PolyconeSide(), Intersect(), Normal(), and PointOnCone().

G4double G4PolyconeSide::rNormEdge[2]
protected

Definition at line 180 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 180 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::rS
protected

Definition at line 173 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 173 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::startPhi
protected

Definition at line 165 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 165 of file G4PolyconeSide.hh

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), Extent(), G4PolyconeSide(), GetPointOnFace(), and PointOnCone().

G4PlSideManager G4PolyconeSide::subInstanceManager
staticprivate

Definition at line 193 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 193 of file G4PolyconeSide.hh

Referenced by G4PolyconeSide(), and GetSubInstanceManager().

G4double G4PolyconeSide::z[2]
protected

Definition at line 164 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 164 of file G4PolyconeSide.hh

Referenced by CalculateExtent(), CopyStuff(), DistanceAway(), Extent(), G4PolyconeSide(), GetPointOnFace(), and SurfaceArea().

G4double G4PolyconeSide::zNorm
protected

Definition at line 172 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 172 of file G4PolyconeSide.hh

Referenced by CopyStuff(), DistanceAway(), G4PolyconeSide(), Intersect(), Normal(), and PointOnCone().

G4double G4PolyconeSide::zNormEdge[2]
protected

Definition at line 180 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 180 of file G4PolyconeSide.hh

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

G4double G4PolyconeSide::zS
protected

Definition at line 173 of file G4PolyconeSide.hh.

View newest version in sPHENIX GitHub at line 173 of file G4PolyconeSide.hh

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


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