Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
G4PolyhedraSide Class Reference

#include <G4PolyhedraSide.hh>

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

Classes

struct  sG4PolyhedraSideEdge
 
struct  sG4PolyhedraSideVec
 

Public Member Functions

 G4PolyhedraSide (const G4PolyhedraSideRZ *prevRZ, const G4PolyhedraSideRZ *tail, const G4PolyhedraSideRZ *head, const G4PolyhedraSideRZ *nextRZ, G4int numSide, G4double phiStart, G4double phiTotal, G4bool phiIsOpen, G4bool isAllBehind=false)
 
virtual ~G4PolyhedraSide ()
 
 G4PolyhedraSide (const G4PolyhedraSide &source)
 
G4PolyhedraSideoperator= (const G4PolyhedraSide &source)
 
G4bool Intersect (const G4ThreeVector &p, const G4ThreeVector &v, G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &allBehind)
 
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 SurfaceTriangle (G4ThreeVector p1, G4ThreeVector p2, G4ThreeVector p3, G4ThreeVector *p4)
 
G4ThreeVector GetPointOnPlane (G4ThreeVector p0, G4ThreeVector p1, G4ThreeVector p2, G4ThreeVector p3, G4double *Area)
 
G4double SurfaceArea ()
 
G4ThreeVector GetPointOnFace ()
 
 G4PolyhedraSide (__void__ &)
 
- Public Member Functions inherited from G4VCSGface
 G4VCSGface ()
 
virtual ~G4VCSGface ()
 

Protected Types

typedef struct
G4PolyhedraSide::sG4PolyhedraSideEdge 
G4PolyhedraSideEdge
 
typedef struct
G4PolyhedraSide::sG4PolyhedraSideVec 
G4PolyhedraSideVec
 

Protected Member Functions

G4bool IntersectSidePlane (const G4ThreeVector &p, const G4ThreeVector &v, const G4PolyhedraSideVec &vec, G4double normSign, G4double surfTolerance, G4double &distance, G4double &distFromSurface)
 
G4int LineHitsSegments (const G4ThreeVector &p, const G4ThreeVector &v, G4int *i1, G4int *i2)
 
G4int ClosestPhiSegment (G4double phi)
 
G4int PhiSegment (G4double phi)
 
G4double GetPhi (const G4ThreeVector &p)
 
G4double DistanceToOneSide (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist)
 
G4double DistanceAway (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist)
 
void CopyStuff (const G4PolyhedraSide &source)
 

Protected Attributes

G4int numSide
 
G4double r [2]
 
G4double z [2]
 
G4double startPhi
 
G4double deltaPhi
 
G4double endPhi
 
G4bool phiIsOpen
 
G4bool allBehind
 
G4IntersectingConecone
 
G4PolyhedraSideVecvecs
 
G4PolyhedraSideEdgeedges
 
G4double lenRZ
 
G4double lenPhi [2]
 
G4double edgeNorm
 

Friends

struct sG4PolyhedraSideVec
 

Detailed Description

Definition at line 68 of file G4PolyhedraSide.hh.

Member Typedef Documentation

Constructor & Destructor Documentation

G4PolyhedraSide::G4PolyhedraSide ( const G4PolyhedraSideRZ prevRZ,
const G4PolyhedraSideRZ tail,
const G4PolyhedraSideRZ head,
const G4PolyhedraSideRZ nextRZ,
G4int  numSide,
G4double  phiStart,
G4double  phiTotal,
G4bool  phiIsOpen,
G4bool  isAllBehind = false 
)

Definition at line 56 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4PolyhedraSide::~G4PolyhedraSide ( )
virtual

Definition at line 310 of file G4PolyhedraSide.cc.

G4PolyhedraSide::G4PolyhedraSide ( const G4PolyhedraSide source)

Definition at line 321 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4PolyhedraSide::G4PolyhedraSide ( __void__ &  )

Definition at line 296 of file G4PolyhedraSide.cc.

Member Function Documentation

void G4PolyhedraSide::CalculateExtent ( const EAxis  axis,
const G4VoxelLimits voxelLimit,
const G4AffineTransform tranform,
G4SolidExtentList extentList 
)
virtual

Implements G4VCSGface.

Definition at line 708 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4VCSGface* G4PolyhedraSide::Clone ( )
inlinevirtual

Implements G4VCSGface.

Definition at line 104 of file G4PolyhedraSide.hh.

Here is the call graph for this function:

G4int G4PolyhedraSide::ClosestPhiSegment ( G4double  phi)
protected

Definition at line 920 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4PolyhedraSide::CopyStuff ( const G4PolyhedraSide source)
protected

Definition at line 348 of file G4PolyhedraSide.cc.

Here is the caller graph for this function:

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

Implements G4VCSGface.

Definition at line 563 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4double G4PolyhedraSide::DistanceAway ( const G4ThreeVector p,
const G4PolyhedraSideVec vec,
G4double normDist 
)
protected

Definition at line 1037 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4PolyhedraSide::DistanceToOneSide ( const G4ThreeVector p,
const G4PolyhedraSideVec vec,
G4double normDist 
)
protected

Definition at line 1013 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4PolyhedraSide::Extent ( const G4ThreeVector  axis)
virtual

Implements G4VCSGface.

Definition at line 648 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4double G4PolyhedraSide::GetPhi ( const G4ThreeVector p)
protected

Definition at line 986 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ThreeVector G4PolyhedraSide::GetPointOnFace ( )
virtual

Implements G4VCSGface.

Definition at line 1263 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4ThreeVector G4PolyhedraSide::GetPointOnPlane ( G4ThreeVector  p0,
G4ThreeVector  p1,
G4ThreeVector  p2,
G4ThreeVector  p3,
G4double Area 
)

Definition at line 1206 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements G4VCSGface.

Definition at line 596 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

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

Implements G4VCSGface.

Definition at line 444 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4bool G4PolyhedraSide::IntersectSidePlane ( const G4ThreeVector p,
const G4ThreeVector v,
const G4PolyhedraSideVec vec,
G4double  normSign,
G4double  surfTolerance,
G4double distance,
G4double distFromSurface 
)
protected

Definition at line 779 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4int G4PolyhedraSide::LineHitsSegments ( const G4ThreeVector p,
const G4ThreeVector v,
G4int i1,
G4int i2 
)
protected

Definition at line 874 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

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

Implements G4VCSGface.

Definition at line 627 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

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

Definition at line 331 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4int G4PolyhedraSide::PhiSegment ( G4double  phi)
protected

Definition at line 948 of file G4PolyhedraSide.cc.

Here is the caller graph for this function:

G4double G4PolyhedraSide::SurfaceArea ( )
virtual

Implements G4VCSGface.

Definition at line 1228 of file G4PolyhedraSide.cc.

Here is the call graph for this function:

G4double G4PolyhedraSide::SurfaceTriangle ( G4ThreeVector  p1,
G4ThreeVector  p2,
G4ThreeVector  p3,
G4ThreeVector p4 
)

Definition at line 1183 of file G4PolyhedraSide.cc.

Here is the caller graph for this function:

Friends And Related Function Documentation

friend struct sG4PolyhedraSideVec
friend

Definition at line 132 of file G4PolyhedraSide.hh.

Member Data Documentation

G4bool G4PolyhedraSide::allBehind
protected

Definition at line 188 of file G4PolyhedraSide.hh.

G4IntersectingCone* G4PolyhedraSide::cone
protected

Definition at line 190 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::deltaPhi
protected

Definition at line 184 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::edgeNorm
protected

Definition at line 196 of file G4PolyhedraSide.hh.

G4PolyhedraSideEdge* G4PolyhedraSide::edges
protected

Definition at line 193 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::endPhi
protected

Definition at line 184 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::lenPhi[2]
protected

Definition at line 194 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::lenRZ
protected

Definition at line 194 of file G4PolyhedraSide.hh.

G4int G4PolyhedraSide::numSide
protected

Definition at line 182 of file G4PolyhedraSide.hh.

G4bool G4PolyhedraSide::phiIsOpen
protected

Definition at line 187 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::r[2]
protected

Definition at line 183 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::startPhi
protected

Definition at line 184 of file G4PolyhedraSide.hh.

G4PolyhedraSideVec* G4PolyhedraSide::vecs
protected

Definition at line 192 of file G4PolyhedraSide.hh.

G4double G4PolyhedraSide::z[2]
protected

Definition at line 183 of file G4PolyhedraSide.hh.


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