Geant4  10.01.p02
G4UPolyhedra Class Reference

#include <G4UPolyhedra.hh>

+ Inheritance diagram for G4UPolyhedra:
+ Collaboration diagram for G4UPolyhedra:

Public Member Functions

 G4UPolyhedra (const G4String &name, G4double phiStart, G4double phiTotal, G4int numSide, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
 
 G4UPolyhedra (const G4String &name, G4double phiStart, G4double phiTotal, G4int numSide, G4int numRZ, const G4double r[], const G4double z[])
 
 ~G4UPolyhedra ()
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4VSolidClone () const
 
UPolyhedraGetShape () const
 
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)
 
G4bool Reset ()
 
 G4UPolyhedra (__void__ &)
 
 G4UPolyhedra (const G4UPolyhedra &source)
 
G4UPolyhedraoperator= (const G4UPolyhedra &source)
 
G4PolyhedronCreatePolyhedron () const
 
- Public Member Functions inherited from G4USolid
 G4USolid (const G4String &pName, VUSolid *shape)
 
virtual ~G4USolid ()
 
G4bool operator== (const G4USolid &s) const
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
virtual EInside Inside (const G4ThreeVector &p) const
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
virtual G4double DistanceToIn (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 G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
virtual G4GeometryType GetEntityType () const
 
virtual G4ThreeVector GetPointOnSurface () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronGetPolyhedron () const
 
 G4USolid (__void__ &)
 
 G4USolid (const G4USolid &rhs)
 
G4USolidoperator= (const G4USolid &rhs)
 
VUSolidGetSolid () const
 
- 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)
 

Additional Inherited Members

- Protected Member Functions inherited from G4USolid
G4ThreeVectorListCreateRotatedVertices (const G4AffineTransform &pT) const
 
- 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 inherited from G4USolid
VUSolidfShape
 
G4bool fRebuildPolyhedron
 
G4PolyhedronfPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 55 of file G4UPolyhedra.hh.

Constructor & Destructor Documentation

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

Definition at line 44 of file G4UPolyhedra.cc.

Referenced by Clone().

+ Here is the caller graph for this function:

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

Definition at line 62 of file G4UPolyhedra.cc.

G4UPolyhedra::~G4UPolyhedra ( )

Definition at line 90 of file G4UPolyhedra.cc.

G4UPolyhedra::G4UPolyhedra ( __void__ &  a)

Definition at line 80 of file G4UPolyhedra.cc.

G4UPolyhedra::G4UPolyhedra ( const G4UPolyhedra source)

Definition at line 99 of file G4UPolyhedra.cc.

Member Function Documentation

G4VSolid * G4UPolyhedra::Clone ( ) const
virtual

Reimplemented from G4USolid.

Definition at line 136 of file G4UPolyhedra.cc.

References G4UPolyhedra().

+ Here is the call graph for this function:

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

Reimplemented from G4USolid.

Definition at line 124 of file G4UPolyhedra.cc.

References G4VPVParameterisation::ComputeDimensions().

+ Here is the call graph for this function:

G4Polyhedron * G4UPolyhedra::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

Reimplemented from G4USolid.

Definition at line 146 of file G4UPolyhedra.cc.

References a, A, ab, G4Exception(), GetCorner(), GetEndPhi(), G4VSolid::GetName(), GetNumRZCorner(), GetNumSide(), GetOriginalParameters(), GetStartPhi(), IsGeneric(), IsOpen(), JustWarning, G4VSolid::kCarTolerance, G4PolyhedraSideRZ::r, and G4PolyhedraSideRZ::z.

+ Here is the call graph for this function:

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

Definition at line 144 of file G4UPolyhedra.hh.

References UPolyhedra::GetCorner(), GetShape(), UPolyhedraSideRZ::r, and UPolyhedraSideRZ::z.

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4UPolyhedra::GetEndPhi ( ) const
inline

Definition at line 128 of file G4UPolyhedra.hh.

References UPolyhedra::GetEndPhi(), and GetShape().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4UPolyhedra::GetNumRZCorner ( ) const
inline

Definition at line 140 of file G4UPolyhedra.hh.

References UPolyhedra::GetNumRZCorner(), and GetShape().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4UPolyhedra::GetNumSide ( ) const
inline

Definition at line 120 of file G4UPolyhedra.hh.

References UPolyhedra::GetNumSide(), and GetShape().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PolyhedraHistorical * G4UPolyhedra::GetOriginalParameters ( ) const
inline

Definition at line 151 of file G4UPolyhedra.hh.

References UPolyhedraHistorical::fNumSide, UPolyhedraHistorical::fNumZPlanes, UPolyhedraHistorical::fOpeningAngle, UPolyhedraHistorical::fStartAngle, UPolyhedraHistorical::fZValues, UPolyhedra::GetOriginalParameters(), GetShape(), G4PolyhedraHistorical::numSide, G4PolyhedraHistorical::Opening_angle, UPolyhedraHistorical::Rmax, G4PolyhedraHistorical::Rmax, UPolyhedraHistorical::Rmin, G4PolyhedraHistorical::Rmin, G4PolyhedraHistorical::Start_angle, and G4PolyhedraHistorical::Z_values.

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

UPolyhedra * G4UPolyhedra::GetShape ( ) const
inline

Definition at line 115 of file G4UPolyhedra.hh.

References G4USolid::fShape.

Referenced by GetCorner(), GetEndPhi(), GetNumRZCorner(), GetNumSide(), GetOriginalParameters(), GetStartPhi(), IsGeneric(), IsOpen(), Reset(), and SetOriginalParameters().

+ Here is the caller graph for this function:

G4double G4UPolyhedra::GetStartPhi ( ) const
inline

Definition at line 124 of file G4UPolyhedra.hh.

References GetShape(), and UPolyhedra::GetStartPhi().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4UPolyhedra::IsGeneric ( ) const
inline

Definition at line 136 of file G4UPolyhedra.hh.

References GetShape(), and UPolyhedra::IsGeneric().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4UPolyhedra::IsOpen ( ) const
inline

Definition at line 132 of file G4UPolyhedra.hh.

References GetShape(), and UPolyhedra::IsOpen().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 109 of file G4UPolyhedra.cc.

References G4USolid::operator=().

+ Here is the call graph for this function:

G4bool G4UPolyhedra::Reset ( )
inline

Definition at line 181 of file G4UPolyhedra.hh.

References GetShape(), and UPolyhedra::Reset().

+ Here is the call graph for this function:


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