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

#include <G4Polyhedra.hh>

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

Public Member Functions

 G4Polyhedra (const G4String &name, G4double phiStart, G4double phiTotal, G4int numSide, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
 
 G4Polyhedra (const G4String &name, G4double phiStart, G4double phiTotal, G4int numSide, G4int numRZ, const G4double r[], const G4double z[])
 
virtual ~G4Polyhedra ()
 
EInside Inside (const G4ThreeVector &p) const
 
G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
G4double DistanceToIn (const G4ThreeVector &p) const
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4GeometryType GetEntityType () const
 
G4VSolidClone () const
 
G4ThreeVector GetPointOnSurface () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
G4PolyhedronCreatePolyhedron () const
 
G4NURBSCreateNURBS () const
 
G4bool Reset ()
 
G4int GetNumSide () const
 
G4double GetStartPhi () const
 
G4double GetEndPhi () const
 
G4bool IsOpen () const
 
G4bool IsGeneric () const
 
G4int GetNumRZCorner () const
 
G4PolyhedraSideRZ GetCorner (const G4int index) const
 
G4PolyhedraHistoricalGetOriginalParameters () const
 
void SetOriginalParameters (G4PolyhedraHistorical *pars)
 
 G4Polyhedra (__void__ &)
 
 G4Polyhedra (const G4Polyhedra &source)
 
const G4Polyhedraoperator= (const G4Polyhedra &source)
 
- Public Member Functions inherited from G4VCSGfaceted
 G4VCSGfaceted (const G4String &name)
 
virtual ~G4VCSGfaceted ()
 
 G4VCSGfaceted (const G4VCSGfaceted &source)
 
const G4VCSGfacetedoperator= (const G4VCSGfaceted &source)
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronGetPolyhedron () const
 
G4int GetCubVolStatistics () const
 
G4double GetCubVolEpsilon () const
 
void SetCubVolStatistics (G4int st)
 
void SetCubVolEpsilon (G4double ep)
 
G4int GetAreaStatistics () const
 
G4double GetAreaAccuracy () const
 
void SetAreaStatistics (G4int st)
 
void SetAreaAccuracy (G4double ep)
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
 G4VCSGfaceted (__void__ &)
 
- Public Member Functions inherited from G4VSolid
 G4VSolid (const G4String &name)
 
virtual ~G4VSolid ()
 
G4bool operator== (const G4VSolid &s) const
 
G4String GetName () const
 
void SetName (const G4String &name)
 
G4double GetTolerance () const
 
void DumpInfo () const
 
virtual const G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 

Protected Member Functions

void SetOriginalParameters ()
 
void Create (G4double phiStart, G4double phiTotal, G4int numSide, G4ReduciblePolygon *rz)
 
void CopyStuff (const G4Polyhedra &source)
 
void DeleteStuff ()
 
G4ThreeVector GetPointOnPlane (G4ThreeVector p0, G4ThreeVector p1, G4ThreeVector p2, G4ThreeVector p3) const
 
G4ThreeVector GetPointOnTriangle (G4ThreeVector p0, G4ThreeVector p1, G4ThreeVector p2) const
 
G4ThreeVector GetPointOnSurfaceCorners () const
 
- Protected Member Functions inherited from G4VCSGfaceted
virtual G4double DistanceTo (const G4ThreeVector &p, const G4bool outgoing) const
 
G4ThreeVector GetPointOnSurfaceGeneric () const
 
void CopyStuff (const G4VCSGfaceted &source)
 
void DeleteStuff ()
 
- Protected Member Functions inherited from G4VSolid
void CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Attributes

G4int numSide
 
G4double startPhi
 
G4double endPhi
 
G4bool phiIsOpen
 
G4bool genericPgon
 
G4int numCorner
 
G4PolyhedraSideRZcorners
 
G4PolyhedraHistoricaloriginal_parameters
 
G4EnclosingCylinderenclosingCylinder
 
- Protected Attributes inherited from G4VCSGfaceted
G4int numFace
 
G4VCSGface ** faces
 
G4double fCubicVolume
 
G4double fSurfaceArea
 
G4PolyhedronfpPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 88 of file G4Polyhedra.hh.

Constructor & Destructor Documentation

G4Polyhedra::G4Polyhedra ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numSide,
G4int  numZPlanes,
const G4double  zPlane[],
const G4double  rInner[],
const G4double  rOuter[] 
)

Definition at line 78 of file G4Polyhedra.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4Polyhedra::G4Polyhedra ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numSide,
G4int  numRZ,
const G4double  r[],
const G4double  z[] 
)

Definition at line 164 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4Polyhedra::~G4Polyhedra ( )
virtual

Definition at line 377 of file G4Polyhedra.cc.

G4Polyhedra::G4Polyhedra ( __void__ &  a)

Definition at line 366 of file G4Polyhedra.cc.

G4Polyhedra::G4Polyhedra ( const G4Polyhedra source)

Definition at line 389 of file G4Polyhedra.cc.

Here is the call graph for this function:

Member Function Documentation

G4VSolid * G4Polyhedra::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 575 of file G4Polyhedra.cc.

Here is the call graph for this function:

void G4Polyhedra::ComputeDimensions ( G4VPVParameterisation p,
const G4int  n,
const G4VPhysicalVolume pRep 
)
virtual

Reimplemented from G4VSolid.

Definition at line 555 of file G4Polyhedra.cc.

Here is the call graph for this function:

void G4Polyhedra::CopyStuff ( const G4Polyhedra source)
protected

Definition at line 419 of file G4Polyhedra.cc.

Here is the caller graph for this function:

void G4Polyhedra::Create ( G4double  phiStart,
G4double  phiTotal,
G4int  numSide,
G4ReduciblePolygon rz 
)
protected

Definition at line 191 of file G4Polyhedra.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4NURBS * G4Polyhedra::CreateNURBS ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1161 of file G4Polyhedra.cc.

G4Polyhedron * G4Polyhedra::CreatePolyhedron ( ) const
virtual

Creates user defined polyhedron. This function allows to the user to define arbitrary polyhedron. The faces of the polyhedron should be either triangles or planar quadrilateral. Nodes of a face are defined by indexes pointing to the elements in the xyz array. Numeration of the elements in the array starts from 1 (like in fortran). The indexes can be positive or negative. Negative sign means that the corresponding edge is invisible. The normal of the face should be directed to exterior of the polyhedron.

Parameters
Nnodesnumber of nodes
Nfacesnumber of faces
xyznodes
faces_vecfaces (quadrilaterals or triangles)
Returns
status of the operation - is non-zero in case of problem

Implements G4VCSGfaceted.

Definition at line 903 of file G4Polyhedra.cc.

Here is the call graph for this function:

void G4Polyhedra::DeleteStuff ( )
protected
G4double G4Polyhedra::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 527 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4double G4Polyhedra::DistanceToIn ( const G4ThreeVector p) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 546 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4PolyhedraSideRZ G4Polyhedra::GetCorner ( const G4int  index) const
inline

Here is the caller graph for this function:

G4double G4Polyhedra::GetEndPhi ( ) const
inline

Here is the caller graph for this function:

G4GeometryType G4Polyhedra::GetEntityType ( ) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 566 of file G4Polyhedra.cc.

G4int G4Polyhedra::GetNumRZCorner ( ) const
inline

Here is the caller graph for this function:

G4int G4Polyhedra::GetNumSide ( ) const
inline

Here is the caller graph for this function:

G4PolyhedraHistorical* G4Polyhedra::GetOriginalParameters ( ) const
inline

Here is the caller graph for this function:

G4ThreeVector G4Polyhedra::GetPointOnPlane ( G4ThreeVector  p0,
G4ThreeVector  p1,
G4ThreeVector  p2,
G4ThreeVector  p3 
) const
protected

Definition at line 637 of file G4Polyhedra.cc.

Here is the caller graph for this function:

G4ThreeVector G4Polyhedra::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 686 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4ThreeVector G4Polyhedra::GetPointOnSurfaceCorners ( ) const
protected
G4ThreeVector G4Polyhedra::GetPointOnTriangle ( G4ThreeVector  p0,
G4ThreeVector  p1,
G4ThreeVector  p2 
) const
protected

Definition at line 669 of file G4Polyhedra.cc.

G4double G4Polyhedra::GetStartPhi ( ) const
inline

Here is the caller graph for this function:

EInside G4Polyhedra::Inside ( const G4ThreeVector p) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 507 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4bool G4Polyhedra::IsGeneric ( ) const
inline

Here is the caller graph for this function:

G4bool G4Polyhedra::IsOpen ( ) const
inline

Here is the caller graph for this function:

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

Definition at line 399 of file G4Polyhedra.cc.

Here is the call graph for this function:

G4bool G4Polyhedra::Reset ( )

Definition at line 465 of file G4Polyhedra.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4Polyhedra::SetOriginalParameters ( G4PolyhedraHistorical pars)
inline

Here is the caller graph for this function:

void G4Polyhedra::SetOriginalParameters ( )
inlineprotected

Here is the caller graph for this function:

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

Reimplemented from G4VCSGfaceted.

Definition at line 584 of file G4Polyhedra.cc.

Here is the call graph for this function:

Member Data Documentation

G4PolyhedraSideRZ* G4Polyhedra::corners
protected

Definition at line 194 of file G4Polyhedra.hh.

G4EnclosingCylinder* G4Polyhedra::enclosingCylinder
protected

Definition at line 197 of file G4Polyhedra.hh.

G4double G4Polyhedra::endPhi
protected

Definition at line 190 of file G4Polyhedra.hh.

G4bool G4Polyhedra::genericPgon
protected

Definition at line 192 of file G4Polyhedra.hh.

G4int G4Polyhedra::numCorner
protected

Definition at line 193 of file G4Polyhedra.hh.

G4int G4Polyhedra::numSide
protected

Definition at line 188 of file G4Polyhedra.hh.

G4PolyhedraHistorical* G4Polyhedra::original_parameters
protected

Definition at line 195 of file G4Polyhedra.hh.

G4bool G4Polyhedra::phiIsOpen
protected

Definition at line 191 of file G4Polyhedra.hh.

G4double G4Polyhedra::startPhi
protected

Definition at line 189 of file G4Polyhedra.hh.


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