Geant4  10.01.p03
G4VCSGfaceted Class Referenceabstract

#include <G4VCSGfaceted.hh>

+ Inheritance diagram for G4VCSGfaceted:
+ Collaboration diagram for G4VCSGfaceted:

Public Member Functions

 G4VCSGfaceted (const G4String &name)
 
virtual ~G4VCSGfaceted ()
 
 G4VCSGfaceted (const G4VCSGfaceted &source)
 
G4VCSGfacetedoperator= (const G4VCSGfaceted &source)
 
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 G4GeometryType GetEntityType () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
virtual G4PolyhedronCreatePolyhedron () const =0
 
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
 
virtual void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
virtual G4ThreeVector GetPointOnSurface () const
 
virtual G4VSolidClone () 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

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 numFace
 
G4VCSGface ** faces
 
G4double fCubicVolume
 
G4double fSurfaceArea
 
G4bool fRebuildPolyhedron
 
G4PolyhedronfpPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Private Attributes

G4int fStatistics
 
G4double fCubVolEpsilon
 
G4double fAreaAccuracy
 

Detailed Description

Definition at line 53 of file G4VCSGfaceted.hh.

Constructor & Destructor Documentation

G4VCSGfaceted::G4VCSGfaceted ( const G4String name)

Definition at line 69 of file G4VCSGfaceted.cc.

G4VCSGfaceted::~G4VCSGfaceted ( )
virtual

Definition at line 93 of file G4VCSGfaceted.cc.

References DeleteStuff(), and fpPolyhedron.

+ Here is the call graph for this function:

G4VCSGfaceted::G4VCSGfaceted ( const G4VCSGfaceted source)

Definition at line 103 of file G4VCSGfaceted.cc.

References CopyStuff(), fAreaAccuracy, fCubVolEpsilon, and fStatistics.

+ Here is the call graph for this function:

G4VCSGfaceted::G4VCSGfaceted ( __void__ &  a)

Definition at line 82 of file G4VCSGfaceted.cc.

Member Function Documentation

G4bool G4VCSGfaceted::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits pVoxelLimit,
const G4AffineTransform pTransform,
G4double pmin,
G4double pmax 
) const
virtual

Implements G4VSolid.

Definition at line 187 of file G4VCSGfaceted.cc.

References G4VCSGface::CalculateExtent(), faces, G4SolidExtentList::GetExtent(), and numFace.

+ Here is the call graph for this function:

void G4VCSGfaceted::CopyStuff ( const G4VCSGfaceted source)
protected

Definition at line 143 of file G4VCSGfaceted.cc.

References G4VCSGface::Clone(), faces, fCubicVolume, fpPolyhedron, fRebuildPolyhedron, fSurfaceArea, and numFace.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4Polyhedron* G4VCSGfaceted::CreatePolyhedron ( ) const
pure virtual

Reimplemented from G4VSolid.

Implemented in G4Polyhedra, G4Polycone, and G4GenericPolycone.

Referenced by GetPolyhedron().

+ Here is the caller graph for this function:

void G4VCSGfaceted::DeleteStuff ( )
protected

Definition at line 168 of file G4VCSGfaceted.cc.

References faces, fpPolyhedron, and numFace.

Referenced by operator=(), G4Polycone::Reset(), G4Polyhedra::Reset(), and ~G4VCSGfaceted().

+ Here is the caller graph for this function:

void G4VCSGfaceted::DescribeYourselfTo ( G4VGraphicsScene scene) const
virtual

Implements G4VSolid.

Definition at line 414 of file G4VCSGfaceted.cc.

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

G4double G4VCSGfaceted::DistanceTo ( const G4ThreeVector p,
const G4bool  outgoing 
) const
protectedvirtual

Definition at line 396 of file G4VCSGfaceted.cc.

References faces, G4VSolid::kCarTolerance, kInfinity, and numFace.

Referenced by DistanceToIn(), and DistanceToOut().

+ Here is the caller graph for this function:

G4double G4VCSGfaceted::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
virtual

Implements G4VSolid.

Reimplemented in G4Polycone, G4Polyhedra, and G4GenericPolycone.

Definition at line 266 of file G4VCSGfaceted.cc.

References G4VCSGface::Distance(), faces, G4VSolid::kCarTolerance, kInfinity, and numFace.

Referenced by G4GenericPolycone::DistanceToIn(), G4Polyhedra::DistanceToIn(), and G4Polycone::DistanceToIn().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VSolid.

Reimplemented in G4Polyhedra, G4Polycone, and G4GenericPolycone.

Definition at line 308 of file G4VCSGfaceted.cc.

References DistanceTo().

+ Here is the call graph for this function:

G4double G4VCSGfaceted::DistanceToOut ( const G4ThreeVector p,
const G4ThreeVector v,
const G4bool  calcNorm = false,
G4bool validNorm = 0,
G4ThreeVector n = 0 
) const
virtual

Implements G4VSolid.

Definition at line 317 of file G4VCSGfaceted.cc.

References G4VCSGface::Distance(), faces, Inside(), G4VSolid::kCarTolerance, kInfinity, kSurface, CLHEP::normal(), and numFace.

+ Here is the call graph for this function:

G4double G4VCSGfaceted::DistanceToOut ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 385 of file G4VCSGfaceted.cc.

References DistanceTo().

+ Here is the call graph for this function:

G4double G4VCSGfaceted::GetAreaAccuracy ( ) const

Definition at line 532 of file G4VCSGfaceted.cc.

References fAreaAccuracy.

G4int G4VCSGfaceted::GetAreaStatistics ( ) const

Definition at line 523 of file G4VCSGfaceted.cc.

References fStatistics.

G4double G4VCSGfaceted::GetCubicVolume ( )
virtual

Reimplemented from G4VSolid.

Definition at line 561 of file G4VCSGfaceted.cc.

References G4VSolid::EstimateCubicVolume(), fCubicVolume, fCubVolEpsilon, and fStatistics.

+ Here is the call graph for this function:

G4double G4VCSGfaceted::GetCubVolEpsilon ( ) const

Definition at line 494 of file G4VCSGfaceted.cc.

References fCubVolEpsilon.

G4int G4VCSGfaceted::GetCubVolStatistics ( ) const

Definition at line 485 of file G4VCSGfaceted.cc.

References fStatistics.

G4GeometryType G4VCSGfaceted::GetEntityType ( ) const
virtual

Implements G4VSolid.

Reimplemented in G4Polycone, G4Polyhedra, and G4GenericPolycone.

Definition at line 459 of file G4VCSGfaceted.cc.

G4VisExtent G4VCSGfaceted::GetExtent ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 425 of file G4VCSGfaceted.cc.

References G4VCSGface::Extent(), faces, kInfinity, and numFace.

+ Here is the call graph for this function:

G4ThreeVector G4VCSGfaceted::GetPointOnSurfaceGeneric ( ) const
protected

Definition at line 604 of file G4VCSGfaceted.cc.

References faces, G4UniformRand, numFace, and G4VCSGface::SurfaceArea().

Referenced by G4GenericPolycone::GetPointOnSurface(), and G4Polyhedra::GetPointOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polyhedron * G4VCSGfaceted::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 583 of file G4VCSGfaceted.cc.

References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< M, L, U >::unlock().

+ Here is the call graph for this function:

G4double G4VCSGfaceted::GetSurfaceArea ( )
virtual

Reimplemented from G4VSolid.

Definition at line 572 of file G4VCSGfaceted.cc.

References G4VSolid::EstimateSurfaceArea(), fAreaAccuracy, fStatistics, and fSurfaceArea.

+ Here is the call graph for this function:

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

Implements G4VSolid.

Reimplemented in G4Polycone, G4Polyhedra, and G4GenericPolycone.

Definition at line 219 of file G4VCSGfaceted.cc.

References faces, G4VSolid::kCarTolerance, kInfinity, kOutside, kSurface, and numFace.

Referenced by DistanceToOut(), G4GenericPolycone::Inside(), G4Polyhedra::Inside(), and G4Polycone::Inside().

+ Here is the caller graph for this function:

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

Definition at line 117 of file G4VCSGfaceted.cc.

References CopyStuff(), DeleteStuff(), fAreaAccuracy, fCubVolEpsilon, fStatistics, and G4VSolid::operator=().

Referenced by G4GenericPolycone::operator=(), G4Polycone::operator=(), and G4Polyhedra::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VCSGfaceted::SetAreaAccuracy ( G4double  ep)

Definition at line 551 of file G4VCSGfaceted.cc.

References fAreaAccuracy, and fSurfaceArea.

void G4VCSGfaceted::SetAreaStatistics ( G4int  st)

Definition at line 541 of file G4VCSGfaceted.cc.

References fStatistics, and fSurfaceArea.

void G4VCSGfaceted::SetCubVolEpsilon ( G4double  ep)

Definition at line 513 of file G4VCSGfaceted.cc.

References fCubicVolume, and fCubVolEpsilon.

void G4VCSGfaceted::SetCubVolStatistics ( G4int  st)

Definition at line 503 of file G4VCSGfaceted.cc.

References fCubicVolume, and fStatistics.

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

Implements G4VSolid.

Reimplemented in G4Polyhedra, G4Polycone, and G4GenericPolycone.

Definition at line 468 of file G4VCSGfaceted.cc.

References G4VSolid::GetName(), and numFace.

+ Here is the call graph for this function:

G4ThreeVector G4VCSGfaceted::SurfaceNormal ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 243 of file G4VCSGfaceted.cc.

References faces, kInfinity, CLHEP::normal(), and numFace.

+ Here is the call graph for this function:

Member Data Documentation

G4double G4VCSGfaceted::fAreaAccuracy
private
G4double G4VCSGfaceted::fCubicVolume
protected

Definition at line 121 of file G4VCSGfaceted.hh.

Referenced by CopyStuff(), GetCubicVolume(), SetCubVolEpsilon(), and SetCubVolStatistics().

G4double G4VCSGfaceted::fCubVolEpsilon
private
G4Polyhedron* G4VCSGfaceted::fpPolyhedron
mutableprotected
G4bool G4VCSGfaceted::fRebuildPolyhedron
mutableprotected
G4double G4VCSGfaceted::fSurfaceArea
protected

Definition at line 122 of file G4VCSGfaceted.hh.

Referenced by CopyStuff(), GetSurfaceArea(), SetAreaAccuracy(), and SetAreaStatistics().


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