Geant4  10.02.p02
G4BooleanSolid Class Reference

#include <G4BooleanSolid.hh>

+ Inheritance diagram for G4BooleanSolid:
+ Collaboration diagram for G4BooleanSolid:

Public Member Functions

 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB)
 
 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB, G4RotationMatrix *rotMatrix, const G4ThreeVector &transVector)
 
 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB, const G4Transform3D &transform)
 
virtual ~G4BooleanSolid ()
 
virtual const G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
virtual G4GeometryType GetEntityType () const
 
virtual G4PolyhedronGetPolyhedron () const
 
std::ostream & StreamInfo (std::ostream &os) 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)
 
G4ThreeVector GetPointOnSurface () const
 
 G4BooleanSolid (__void__ &)
 
 G4BooleanSolid (const G4BooleanSolid &rhs)
 
G4BooleanSolidoperator= (const G4BooleanSolid &rhs)
 
- 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 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 G4VSolidClone () const
 
void DumpInfo () const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const =0
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronCreatePolyhedron () const
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Member Functions

G4PolyhedronStackPolyhedron (HepPolyhedronProcessor &, const G4VSolid *) const
 
G4double GetAreaRatio () 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
 

Protected Attributes

G4VSolidfPtrSolidA
 
G4VSolidfPtrSolidB
 
G4double fAreaRatio
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Private Attributes

G4int fStatistics
 
G4double fCubVolEpsilon
 
G4double fAreaAccuracy
 
G4double fCubicVolume
 
G4double fSurfaceArea
 
G4bool fRebuildPolyhedron
 
G4PolyhedronfpPolyhedron
 
G4bool createdDisplacedSolid
 

Detailed Description

Definition at line 53 of file G4BooleanSolid.hh.

Constructor & Destructor Documentation

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB 
)

Definition at line 55 of file G4BooleanSolid.cc.

References fPtrSolidA, and fPtrSolidB.

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB,
G4RotationMatrix rotMatrix,
const G4ThreeVector transVector 
)

Definition at line 70 of file G4BooleanSolid.cc.

References fPtrSolidA, and fPtrSolidB.

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB,
const G4Transform3D transform 
)

Definition at line 87 of file G4BooleanSolid.cc.

References fPtrSolidA, and fPtrSolidB.

G4BooleanSolid::~G4BooleanSolid ( )
virtual

Definition at line 116 of file G4BooleanSolid.cc.

References createdDisplacedSolid, fpPolyhedron, and fPtrSolidB.

G4BooleanSolid::G4BooleanSolid ( __void__ &  a)

Definition at line 104 of file G4BooleanSolid.cc.

G4BooleanSolid::G4BooleanSolid ( const G4BooleanSolid rhs)

Definition at line 129 of file G4BooleanSolid.cc.

Member Function Documentation

G4double G4BooleanSolid::GetAreaAccuracy ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4double G4BooleanSolid::GetAreaRatio ( ) const
inlineprotected

Referenced by GetPointOnSurface().

+ Here is the caller graph for this function:

G4int G4BooleanSolid::GetAreaStatistics ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

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

Reimplemented from G4VSolid.

Definition at line 173 of file G4BooleanSolid.cc.

References G4VSolid::DumpInfo(), FatalException, fPtrSolidA, fPtrSolidB, and G4Exception().

Referenced by G4tgbGeometryDumper::DumpBooleanVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid * G4BooleanSolid::GetConstituentSolid ( G4int  no)
virtual

Reimplemented from G4VSolid.

Definition at line 196 of file G4BooleanSolid.cc.

References G4VSolid::DumpInfo(), FatalException, fPtrSolidA, fPtrSolidB, and G4Exception().

+ Here is the call graph for this function:

G4double G4BooleanSolid::GetCubicVolume ( )
inlinevirtual

Reimplemented from G4VSolid.

G4double G4BooleanSolid::GetCubVolEpsilon ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4int G4BooleanSolid::GetCubVolStatistics ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4GeometryType G4BooleanSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Reimplemented in G4IntersectionSolid, G4SubtractionSolid, and G4UnionSolid.

Definition at line 217 of file G4BooleanSolid.cc.

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4ThreeVector G4BooleanSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 247 of file G4BooleanSolid.cc.

References fPtrSolidA, fPtrSolidB, G4UniformRand, GetAreaRatio(), G4VSolid::GetPointOnSurface(), G4VSolid::Inside(), and kSurface.

Referenced by export_G4BooleanSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polyhedron * G4BooleanSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 267 of file G4BooleanSolid.cc.

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

+ Here is the call graph for this function:

G4double G4BooleanSolid::GetSurfaceArea ( )
inlinevirtual

Reimplemented from G4VSolid.

G4BooleanSolid & G4BooleanSolid::operator= ( const G4BooleanSolid rhs)

Definition at line 143 of file G4BooleanSolid.cc.

References createdDisplacedSolid, fAreaAccuracy, fAreaRatio, fCubicVolume, fCubVolEpsilon, fpPolyhedron, fPtrSolidA, fPtrSolidB, fRebuildPolyhedron, fStatistics, fSurfaceArea, and G4VSolid::operator=().

Referenced by G4UnionSolid::operator=(), G4IntersectionSolid::operator=(), and G4SubtractionSolid::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4BooleanSolid::SetAreaAccuracy ( G4double  ep)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetAreaStatistics ( G4int  st)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetCubVolEpsilon ( G4double  ep)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetCubVolStatistics ( G4int  st)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4Polyhedron * G4BooleanSolid::StackPolyhedron ( HepPolyhedronProcessor &  processor,
const G4VSolid solid 
) const
protected

Definition at line 288 of file G4BooleanSolid.cc.

References G4endl, G4Exception(), G4VSolid::GetConstituentSolid(), G4VSolid::GetEntityType(), G4VSolid::GetName(), G4VSolid::GetPolyhedron(), JustWarning, and operand().

Referenced by G4UnionSolid::CreatePolyhedron(), G4IntersectionSolid::CreatePolyhedron(), and G4SubtractionSolid::CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VSolid.

Definition at line 226 of file G4BooleanSolid.cc.

References fPtrSolidA, fPtrSolidB, GetEntityType(), G4VSolid::GetName(), and G4VSolid::StreamInfo().

+ Here is the call graph for this function:

Member Data Documentation

G4bool G4BooleanSolid::createdDisplacedSolid
private

Definition at line 138 of file G4BooleanSolid.hh.

Referenced by operator=(), and ~G4BooleanSolid().

G4double G4BooleanSolid::fAreaAccuracy
private

Definition at line 131 of file G4BooleanSolid.hh.

Referenced by operator=().

G4double G4BooleanSolid::fAreaRatio
mutableprotected

Definition at line 125 of file G4BooleanSolid.hh.

Referenced by operator=().

G4double G4BooleanSolid::fCubicVolume
private

Definition at line 132 of file G4BooleanSolid.hh.

Referenced by operator=().

G4double G4BooleanSolid::fCubVolEpsilon
private

Definition at line 130 of file G4BooleanSolid.hh.

Referenced by operator=().

G4Polyhedron* G4BooleanSolid::fpPolyhedron
mutableprivate

Definition at line 136 of file G4BooleanSolid.hh.

Referenced by GetPolyhedron(), operator=(), and ~G4BooleanSolid().

G4bool G4BooleanSolid::fRebuildPolyhedron
mutableprivate

Definition at line 135 of file G4BooleanSolid.hh.

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

G4int G4BooleanSolid::fStatistics
private

Definition at line 129 of file G4BooleanSolid.hh.

Referenced by operator=().

G4double G4BooleanSolid::fSurfaceArea
private

Definition at line 133 of file G4BooleanSolid.hh.

Referenced by operator=().


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