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 | Static Protected Attributes | List of all members
G4BREPSolid Class Reference

#include <G4BREPSolid.hh>

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

Public Member Functions

 G4BREPSolid (const G4String &name)
 
 G4BREPSolid (const G4String &, G4Surface **, G4int)
 
virtual ~G4BREPSolid ()
 
virtual void Initialize ()
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
virtual EInside Inside (register const G4ThreeVector &Pt) const
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &) const
 
virtual G4double DistanceToIn (const G4ThreeVector &) const
 
virtual G4double DistanceToIn (register const G4ThreeVector &Pt, register const G4ThreeVector &V) const
 
virtual G4double DistanceToOut (const G4ThreeVector &) const
 
virtual G4double DistanceToOut (register const G4ThreeVector &Pt, register const G4ThreeVector &V, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
 
G4Point3D Scope () const
 
virtual G4String GetEntityType () const
 
virtual G4VSolidClone () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
G4PolyhedronCreatePolyhedron () const
 
G4NURBSCreateNURBS () const
 
virtual G4PolyhedronGetPolyhedron () const
 
G4int Intersect (register const G4Ray &) const
 
G4SurfaceGetSurface (G4int) const
 
void Active (G4int) const
 
G4int Active () const
 
G4double GetShortestDistance () const
 
G4int GetId () const
 
void SetId (G4int)
 
const G4StringGetName () const
 
void SetName (const G4String &name)
 
G4int GetNumberOfFaces () const
 
G4int GetNumberOfSolids () const
 
const G4Axis2Placement3DGetPlace () const
 
const G4BoundingBox3DGetBBox () 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)
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
G4double IntersectionDistance () const
 
void IntersectionDistance (G4double) const
 
virtual void Reset () const
 
 G4BREPSolid (__void__ &)
 
 G4BREPSolid (const G4BREPSolid &rhs)
 
G4BREPSolidoperator= (const G4BREPSolid &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 EInside Inside (const G4ThreeVector &p) const =0
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const =0
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
virtual void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
virtual G4ThreeVector GetPointOnSurface () const
 
void DumpInfo () const
 
virtual G4VisExtent GetExtent () 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

G4ThreeVectorListCreateRotatedVertices (const G4AffineTransform &) const
 
G4bool IsConvex ()
 
virtual void CalcBBoxes ()
 
void CheckSurfaceNormals ()
 
void RemoveHiddenFaces (register const G4Ray &G4Rayref, G4int) const
 
void TestSurfaceBBoxes (register const G4Ray &) const
 
G4int StartInside () const
 
void StartInside (G4int si) const
 
void QuickSort (register G4Surface **SrfVec, register G4int left, register G4int right) 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

G4int Box
 
G4int Convex
 
G4int AxisBox
 
G4int PlaneSolid
 
G4Axis2Placement3Dplace
 
G4BoundingBox3Dbbox
 
G4double intersectionDistance
 
G4int active
 
G4int startInside
 
G4int nb_of_surfaces
 
G4Point3D intersection_point
 
G4Surface ** SurfaceVec
 
G4double RealDist
 
G4String solidname
 
G4int Id
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Static Protected Attributes

static G4int NumberOfSolids =0
 
static G4Ray Track
 
static G4double ShortestDistance = kInfinity
 

Detailed Description

Definition at line 50 of file G4BREPSolid.hh.

Constructor & Destructor Documentation

G4BREPSolid::G4BREPSolid ( const G4String name)

Definition at line 52 of file G4BREPSolid.cc.

Here is the caller graph for this function:

G4BREPSolid::G4BREPSolid ( const G4String name,
G4Surface **  srfVec,
G4int  numberOfSrfs 
)

Definition at line 75 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4BREPSolid::~G4BREPSolid ( )
virtual

Definition at line 112 of file G4BREPSolid.cc.

G4BREPSolid::G4BREPSolid ( __void__ &  a)

Definition at line 102 of file G4BREPSolid.cc.

G4BREPSolid::G4BREPSolid ( const G4BREPSolid rhs)

Definition at line 124 of file G4BREPSolid.cc.

Here is the call graph for this function:

Member Function Documentation

void G4BREPSolid::Active ( G4int  ) const
inline
G4int G4BREPSolid::Active ( ) const
inline

Here is the caller graph for this function:

void G4BREPSolid::CalcBBoxes ( )
protectedvirtual

Definition at line 1140 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4BREPSolid::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits pVoxelLimit,
const G4AffineTransform pTransform,
G4double pMin,
G4double pMax 
) const
virtual

Implements G4VSolid.

Definition at line 596 of file G4BREPSolid.cc.

Here is the call graph for this function:

void G4BREPSolid::CheckSurfaceNormals ( )
protected

Definition at line 213 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4VSolid * G4BREPSolid::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Reimplemented in G4BREPSolidPCone, G4BREPSolidPolyhedra, G4BREPSolidSphere, G4BREPSolidCone, G4BREPSolidBox, G4BREPSolidCylinder, and G4BREPSolidTorus.

Definition at line 196 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4NURBS * G4BREPSolid::CreateNURBS ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1130 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4Polyhedron * G4BREPSolid::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Reimplemented in G4BREPSolidPolyhedra, and G4BREPSolidPCone.

Definition at line 1120 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ThreeVectorList * G4BREPSolid::CreateRotatedVertices ( const G4AffineTransform pTransform) const
protected

Definition at line 756 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4BREPSolid::DescribeYourselfTo ( G4VGraphicsScene scene) const
virtual

Implements G4VSolid.

Definition at line 1115 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::DistanceToIn ( const G4ThreeVector Pt) const
virtual

Implements G4VSolid.

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidCone, and G4BREPSolidSphere.

Definition at line 888 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::DistanceToIn ( register const G4ThreeVector Pt,
register const G4ThreeVector V 
) const
virtual

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidCone, and G4BREPSolidSphere.

Definition at line 930 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::DistanceToOut ( const G4ThreeVector Pt) const
virtual

Implements G4VSolid.

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidSphere, and G4BREPSolidCone.

Definition at line 1073 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::DistanceToOut ( register const G4ThreeVector Pt,
register const G4ThreeVector V,
const G4bool  calcNorm = false,
G4bool validNorm = 0,
G4ThreeVector n = 0 
) const
virtual

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidCone, and G4BREPSolidSphere.

Definition at line 1001 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::GetAreaAccuracy ( ) const
inline
G4int G4BREPSolid::GetAreaStatistics ( ) const
inline
const G4BoundingBox3D* G4BREPSolid::GetBBox ( ) const
inline

Here is the caller graph for this function:

G4double G4BREPSolid::GetCubicVolume ( )
inlinevirtual

Reimplemented from G4VSolid.

G4double G4BREPSolid::GetCubVolEpsilon ( ) const
inline
G4int G4BREPSolid::GetCubVolStatistics ( ) const
inline
G4String G4BREPSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 191 of file G4BREPSolid.cc.

Here is the caller graph for this function:

G4int G4BREPSolid::GetId ( ) const
inline
const G4String& G4BREPSolid::GetName ( ) const
inline

Here is the caller graph for this function:

G4int G4BREPSolid::GetNumberOfFaces ( ) const
inline
G4int G4BREPSolid::GetNumberOfSolids ( ) const
inline
const G4Axis2Placement3D* G4BREPSolid::GetPlace ( ) const
inline
G4Polyhedron * G4BREPSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1524 of file G4BREPSolid.cc.

Here is the call graph for this function:

G4double G4BREPSolid::GetShortestDistance ( ) const
inline
G4Surface* G4BREPSolid::GetSurface ( G4int  ) const
inline
G4double G4BREPSolid::GetSurfaceArea ( )
inlinevirtual

Reimplemented from G4VSolid.

void G4BREPSolid::Initialize ( )
virtual

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, and G4BREPSolidCone.

Definition at line 171 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

EInside G4BREPSolid::Inside ( register const G4ThreeVector Pt) const
virtual

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidBox, G4BREPSolidCone, and G4BREPSolidSphere.

Definition at line 793 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4BREPSolid::Intersect ( register const G4Ray rayref) const

Definition at line 1300 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4BREPSolid::IntersectionDistance ( ) const
inline
void G4BREPSolid::IntersectionDistance ( G4double  ) const
inline
G4bool G4BREPSolid::IsConvex ( )
protected

Definition at line 460 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 138 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4BREPSolid::QuickSort ( register G4Surface **  SrfVec,
register G4int  left,
register G4int  right 
) const
inlineprotected

Here is the caller graph for this function:

void G4BREPSolid::RemoveHiddenFaces ( register const G4Ray G4Rayref,
G4int  In 
) const
protected

Definition at line 1200 of file G4BREPSolid.cc.

Here is the call graph for this function:

void G4BREPSolid::Reset ( ) const
virtual

Reimplemented in G4BREPSolidPolyhedra, and G4BREPSolidPCone.

Definition at line 201 of file G4BREPSolid.cc.

Here is the caller graph for this function:

G4Point3D G4BREPSolid::Scope ( ) const

Definition at line 1498 of file G4BREPSolid.cc.

Here is the call graph for this function:

void G4BREPSolid::SetAreaAccuracy ( G4double  ep)
inline
void G4BREPSolid::SetAreaStatistics ( G4int  st)
inline
void G4BREPSolid::SetCubVolEpsilon ( G4double  ep)
inline
void G4BREPSolid::SetCubVolStatistics ( G4int  st)
inline
void G4BREPSolid::SetId ( G4int  )
inline
void G4BREPSolid::SetName ( const G4String name)
inline
G4int G4BREPSolid::StartInside ( ) const
inlineprotected

Here is the caller graph for this function:

void G4BREPSolid::StartInside ( G4int  si) const
inlineprotected
std::ostream & G4BREPSolid::StreamInfo ( std::ostream &  os) const
virtual

Implements G4VSolid.

Reimplemented in G4BREPSolidPCone, G4BREPSolidPolyhedra, G4BREPSolidSphere, G4BREPSolidCone, G4BREPSolidBox, G4BREPSolidCylinder, and G4BREPSolidTorus.

Definition at line 1511 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ThreeVector G4BREPSolid::SurfaceNormal ( const G4ThreeVector Pt) const
virtual

Implements G4VSolid.

Reimplemented in G4BREPSolidPolyhedra, G4BREPSolidPCone, G4BREPSolidCone, and G4BREPSolidSphere.

Definition at line 863 of file G4BREPSolid.cc.

Here is the call graph for this function:

void G4BREPSolid::TestSurfaceBBoxes ( register const G4Ray rayref) const
protected

Definition at line 1251 of file G4BREPSolid.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

G4int G4BREPSolid::active
protected

Definition at line 227 of file G4BREPSolid.hh.

G4int G4BREPSolid::AxisBox
protected

Definition at line 223 of file G4BREPSolid.hh.

G4BoundingBox3D* G4BREPSolid::bbox
protected

Definition at line 225 of file G4BREPSolid.hh.

G4int G4BREPSolid::Box
protected

Definition at line 223 of file G4BREPSolid.hh.

G4int G4BREPSolid::Convex
protected

Definition at line 223 of file G4BREPSolid.hh.

G4int G4BREPSolid::Id
protected

Definition at line 234 of file G4BREPSolid.hh.

G4Point3D G4BREPSolid::intersection_point
protected

Definition at line 230 of file G4BREPSolid.hh.

G4double G4BREPSolid::intersectionDistance
protected

Definition at line 226 of file G4BREPSolid.hh.

G4int G4BREPSolid::nb_of_surfaces
protected

Definition at line 229 of file G4BREPSolid.hh.

G4int G4BREPSolid::NumberOfSolids =0
staticprotected

Definition at line 219 of file G4BREPSolid.hh.

G4Axis2Placement3D* G4BREPSolid::place
protected

Definition at line 224 of file G4BREPSolid.hh.

G4int G4BREPSolid::PlaneSolid
protected

Definition at line 223 of file G4BREPSolid.hh.

G4double G4BREPSolid::RealDist
protected

Definition at line 232 of file G4BREPSolid.hh.

G4double G4BREPSolid::ShortestDistance = kInfinity
staticprotected

Definition at line 221 of file G4BREPSolid.hh.

G4String G4BREPSolid::solidname
protected

Definition at line 233 of file G4BREPSolid.hh.

G4int G4BREPSolid::startInside
protected

Definition at line 228 of file G4BREPSolid.hh.

G4Surface** G4BREPSolid::SurfaceVec
protected

Definition at line 231 of file G4BREPSolid.hh.

G4Ray G4BREPSolid::Track
staticprotected

Definition at line 220 of file G4BREPSolid.hh.


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