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 | Friends | List of all members
G4VSolid Class Referenceabstract

#include <G4VSolid.hh>

Inheritance diagram for G4VSolid:
Inheritance graph
[legend]

Public Member Functions

 G4VSolid (const G4String &name)
 
virtual ~G4VSolid ()
 
G4bool operator== (const G4VSolid &s) const
 
G4String GetName () const
 
void SetName (const G4String &name)
 
G4double GetTolerance () const
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
 
virtual EInside Inside (const G4ThreeVector &p) const =0
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const =0
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const =0
 
virtual G4double DistanceToIn (const G4ThreeVector &p) const =0
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const =0
 
virtual void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
virtual G4GeometryType GetEntityType () const =0
 
virtual G4ThreeVector GetPointOnSurface () const
 
virtual G4VSolidClone () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const =0
 
void DumpInfo () const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const =0
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronCreatePolyhedron () const
 
virtual G4NURBSCreateNURBS () const
 
virtual G4PolyhedronGetPolyhedron () 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 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

G4double kCarTolerance
 

Friends

std::ostream & operator<< (std::ostream &os, const G4VSolid &e)
 

Detailed Description

Definition at line 88 of file G4VSolid.hh.

Constructor & Destructor Documentation

G4VSolid::G4VSolid ( const G4String name)

Definition at line 60 of file G4VSolid.cc.

Here is the call graph for this function:

G4VSolid::~G4VSolid ( )
virtual

Definition at line 101 of file G4VSolid.cc.

Here is the call graph for this function:

G4VSolid::G4VSolid ( __void__ &  )

Definition at line 88 of file G4VSolid.cc.

Here is the call graph for this function:

G4VSolid::G4VSolid ( const G4VSolid rhs)

Definition at line 75 of file G4VSolid.cc.

Here is the call graph for this function:

Member Function Documentation

void G4VSolid::CalculateClippedPolygonExtent ( G4ThreeVectorList pPolygon,
const G4VoxelLimits pVoxelLimit,
const EAxis  pAxis,
G4double pMin,
G4double pMax 
) const
protected

Definition at line 425 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4bool G4VSolid::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits pVoxelLimit,
const G4AffineTransform pTransform,
G4double pMin,
G4double pMax 
) const
pure virtual
void G4VSolid::ClipBetweenSections ( G4ThreeVectorList pVertices,
const G4int  pSectionIndex,
const G4VoxelLimits pVoxelLimit,
const EAxis  pAxis,
G4double pMin,
G4double pMax 
) const
protected

Definition at line 376 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VSolid::ClipCrossSection ( G4ThreeVectorList pVertices,
const G4int  pSectionIndex,
const G4VoxelLimits pVoxelLimit,
const EAxis  pAxis,
G4double pMin,
G4double pMax 
) const
protected

Definition at line 345 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VSolid::ClipPolygon ( G4ThreeVectorList pPolygon,
const G4VoxelLimits pVoxelLimit,
const EAxis  pAxis 
) const
protected

Definition at line 492 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4VSolid * G4VSolid::Clone ( ) const
virtual
void G4VSolid::ComputeDimensions ( G4VPVParameterisation p,
const G4int  n,
const G4VPhysicalVolume pRep 
)
virtual

Reimplemented in G4Trap, G4Torus, G4Polyhedra, G4Sphere, G4Cons, G4Polycone, G4Para, G4Tubs, G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid, G4TwistedTubs, G4DisplacedSolid, G4Trd, G4ReflectedSolid, G4Hype, G4VTwistedFaceted, G4Orb, G4Tet, and G4Box.

Definition at line 137 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4NURBS * G4VSolid::CreateNURBS ( ) const
virtual
G4Polyhedron * G4VSolid::CreatePolyhedron ( ) const
virtual
virtual void G4VSolid::DescribeYourselfTo ( G4VGraphicsScene scene) const
pure virtual
virtual G4double G4VSolid::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
pure virtual
virtual G4double G4VSolid::DistanceToIn ( const G4ThreeVector p) const
pure virtual
virtual G4double G4VSolid::DistanceToOut ( const G4ThreeVector p,
const G4ThreeVector v,
const G4bool  calcNorm = false,
G4bool validNorm = 0,
G4ThreeVector n = 0 
) const
pure virtual
virtual G4double G4VSolid::DistanceToOut ( const G4ThreeVector p) const
pure virtual
void G4VSolid::DumpInfo ( ) const
inline
G4double G4VSolid::EstimateCubicVolume ( G4int  nStat,
G4double  epsilon 
) const
protected

Definition at line 203 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4VSolid::EstimateSurfaceArea ( G4int  nStat,
G4double  ell 
) const
protected

Definition at line 261 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

const G4VSolid * G4VSolid::GetConstituentSolid ( G4int  no) const
virtual

Reimplemented in G4BooleanSolid.

Definition at line 167 of file G4VSolid.cc.

Here is the caller graph for this function:

G4VSolid * G4VSolid::GetConstituentSolid ( G4int  no)
virtual

Reimplemented in G4BooleanSolid.

Definition at line 170 of file G4VSolid.cc.

G4double G4VSolid::GetCubicVolume ( )
virtual

Reimplemented in G4Trap, G4TessellatedSolid, G4TwistedTubs, G4BREPSolid, G4GenericTrap, G4Torus, G4Hype, G4Sphere, G4Cons, G4Para, G4Tubs, G4VTwistedFaceted, G4EllipticalCone, G4VCSGfaceted, G4Trd, G4Tet, G4EllipticalTube, G4Box, G4Paraboloid, G4BooleanSolid, G4Ellipsoid, G4CutTubs, and G4Orb.

Definition at line 188 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

const G4DisplacedSolid * G4VSolid::GetDisplacedSolidPtr ( ) const
virtual

Reimplemented in G4DisplacedSolid.

Definition at line 173 of file G4VSolid.cc.

G4DisplacedSolid * G4VSolid::GetDisplacedSolidPtr ( )
virtual

Reimplemented in G4DisplacedSolid.

Definition at line 176 of file G4VSolid.cc.

virtual G4GeometryType G4VSolid::GetEntityType ( ) const
pure virtual
G4VisExtent G4VSolid::GetExtent ( ) const
virtual

Reimplemented in G4TessellatedSolid, G4TwistedTubs, G4Sphere, G4EllipticalCone, G4VTwistedFaceted, G4GenericTrap, G4Hype, G4Ellipsoid, G4Tet, G4Box, G4EllipticalTube, and G4VCSGfaceted.

Definition at line 619 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4String G4VSolid::GetName ( ) const
inline
G4ThreeVector G4VSolid::GetPointOnSurface ( ) const
virtual

Reimplemented in G4Trap, G4TwistedTubs, G4TessellatedSolid, G4Torus, G4Sphere, G4Cons, G4Para, G4EllipticalCone, G4Tubs, G4Trd, G4Polyhedra, G4GenericTrap, G4Hype, G4Paraboloid, G4Polycone, G4DisplacedSolid, G4Ellipsoid, G4VTwistedFaceted, G4Tet, G4Orb, G4CutTubs, G4BooleanSolid, G4Box, G4EllipticalTube, and G4ReflectedSolid.

Definition at line 152 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4Polyhedron * G4VSolid::GetPolyhedron ( ) const
virtual
G4double G4VSolid::GetSurfaceArea ( )
virtual

Reimplemented in G4Trap, G4TessellatedSolid, G4TwistedTubs, G4BREPSolid, G4GenericTrap, G4Torus, G4Hype, G4Sphere, G4Cons, G4Para, G4Tubs, G4VTwistedFaceted, G4EllipticalCone, G4VCSGfaceted, G4Trd, G4Tet, G4EllipticalTube, G4Box, G4Paraboloid, G4BooleanSolid, G4Ellipsoid, G4CutTubs, and G4Orb.

Definition at line 248 of file G4VSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4VSolid::GetTolerance ( ) const
inline

Here is the caller graph for this function:

virtual EInside G4VSolid::Inside ( const G4ThreeVector p) const
pure virtual
G4VSolid & G4VSolid::operator= ( const G4VSolid rhs)

Definition at line 110 of file G4VSolid.cc.

Here is the caller graph for this function:

G4bool G4VSolid::operator== ( const G4VSolid s) const
inline
void G4VSolid::SetName ( const G4String name)
inline

Here is the caller graph for this function:

virtual std::ostream& G4VSolid::StreamInfo ( std::ostream &  os) const
pure virtual
virtual G4ThreeVector G4VSolid::SurfaceNormal ( const G4ThreeVector p) const
pure virtual

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4VSolid e 
)
friend

Definition at line 128 of file G4VSolid.cc.

Member Data Documentation

G4double G4VSolid::kCarTolerance
protected

Definition at line 307 of file G4VSolid.hh.


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