Geant4  10.00.p02
G4VSolid Class Referenceabstract

#include <G4VSolid.hh>

+ Inheritance diagram for G4VSolid:
+ Collaboration diagram for G4VSolid:

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 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
 

Private Member Functions

void ClipPolygonToSimpleLimits (G4ThreeVectorList &pPolygon, G4ThreeVectorList &outputPolygon, const G4VoxelLimits &pVoxelLimit) const
 

Private Attributes

G4String fshapeName
 

Friends

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

Detailed Description

Definition at line 87 of file G4VSolid.hh.

Constructor & Destructor Documentation

G4VSolid::G4VSolid ( const G4String name)

Definition at line 60 of file G4VSolid.cc.

References G4GeometryTolerance::GetInstance(), G4SolidStore::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, and G4SolidStore::Register().

+ Here is the call graph for this function:

G4VSolid::~G4VSolid ( )
virtual

Definition at line 101 of file G4VSolid.cc.

References G4SolidStore::DeRegister(), and G4SolidStore::GetInstance().

+ Here is the call graph for this function:

G4VSolid::G4VSolid ( __void__ &  )

Definition at line 88 of file G4VSolid.cc.

References G4SolidStore::GetInstance(), and G4SolidStore::Register().

+ Here is the call graph for this function:

G4VSolid::G4VSolid ( const G4VSolid rhs)

Definition at line 75 of file G4VSolid.cc.

References G4SolidStore::GetInstance(), and G4SolidStore::Register().

+ 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 427 of file G4VSolid.cc.

References ClipPolygon().

Referenced by G4Ellipsoid::CalculateExtent(), G4Sphere::CalculateExtent(), ClipBetweenSections(), and ClipCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 378 of file G4VSolid.cc.

References CalculateClippedPolygonExtent().

Referenced by G4USolid::CalculateExtent(), G4ReflectedSolid::CalculateExtent(), G4Box::CalculateExtent(), G4CutTubs::CalculateExtent(), G4VTwistedFaceted::CalculateExtent(), G4OTubs::CalculateExtent(), G4Trd::CalculateExtent(), G4GenericTrap::CalculateExtent(), G4Para::CalculateExtent(), G4Tubs::CalculateExtent(), G4Cons::CalculateExtent(), and G4Torus::CalculateExtent().

+ 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 347 of file G4VSolid.cc.

References CalculateClippedPolygonExtent().

Referenced by G4USolid::CalculateExtent(), G4ReflectedSolid::CalculateExtent(), G4Box::CalculateExtent(), G4CutTubs::CalculateExtent(), G4VTwistedFaceted::CalculateExtent(), G4OTubs::CalculateExtent(), G4Trd::CalculateExtent(), G4GenericTrap::CalculateExtent(), G4Para::CalculateExtent(), G4Tubs::CalculateExtent(), G4Cons::CalculateExtent(), and G4Torus::CalculateExtent().

+ 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 494 of file G4VSolid.cc.

References G4VoxelLimits::AddLimit(), ClipPolygonToSimpleLimits(), G4VoxelLimits::GetMaxXExtent(), G4VoxelLimits::GetMaxYExtent(), G4VoxelLimits::GetMaxZExtent(), G4VoxelLimits::GetMinXExtent(), G4VoxelLimits::GetMinYExtent(), G4VoxelLimits::GetMinZExtent(), G4VoxelLimits::IsLimited(), G4VoxelLimits::IsXLimited(), G4VoxelLimits::IsYLimited(), G4VoxelLimits::IsZLimited(), kInfinity, kXAxis, kYAxis, and kZAxis.

Referenced by CalculateClippedPolygonExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VSolid::ClipPolygonToSimpleLimits ( G4ThreeVectorList pPolygon,
G4ThreeVectorList outputPolygon,
const G4VoxelLimits pVoxelLimit 
) const
private

Definition at line 569 of file G4VSolid.cc.

References G4VoxelLimits::ClipToLimits(), and G4VoxelLimits::Inside().

Referenced by ClipPolygon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid * G4VSolid::Clone ( ) const
virtual

Reimplemented in G4Trap, G4TessellatedSolid, G4TwistedTubs, G4Sphere, G4Cons, G4Torus, G4Tubs, G4Trd, G4Para, G4USolid, G4EllipticalCone, G4ExtrudedSolid, G4GenericTrap, G4Polycone, G4Polyhedra, G4Paraboloid, G4TwistedTrap, G4Hype, G4Orb, G4DisplacedSolid, G4Box, G4Tet, G4OTubs, G4Ellipsoid, G4CutTubs, G4ReflectedSolid, G4GenericPolycone, G4EllipticalTube, G4TwistedTrd, G4UPolyhedra, G4TwistedBox, G4UPolycone, G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid, G4UTubs, G4UCons, G4USphere, G4UTrd, G4UBox, and G4UOrb.

Definition at line 324 of file G4VSolid.cc.

References G4endl, G4Exception(), GetEntityType(), and JustWarning.

Referenced by G4GeometryWorkspace::CloneParameterisedSolids(), and G4GeometryWorkspace::CloneReplicaSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VSolid::ComputeDimensions ( G4VPVParameterisation p,
const G4int  n,
const G4VPhysicalVolume pRep 
)
virtual
virtual void G4VSolid::DescribeYourselfTo ( G4VGraphicsScene scene) const
pure virtual

Implemented in G4Trap, G4TessellatedSolid, G4Sphere, G4Cons, G4Torus, G4DisplacedSolid, G4Tubs, G4Trd, G4USolid, G4Para, G4EllipticalCone, G4GenericTrap, G4TwistedTubs, G4Hype, G4Paraboloid, G4ReflectedSolid, G4Orb, G4IntersectionSolid, G4SubtractionSolid, G4Box, G4Ellipsoid, G4Tet, G4UnionSolid, G4OTubs, G4VTwistedFaceted, G4CutTubs, G4EllipticalTube, and G4VCSGfaceted.

Referenced by G4VisManager::Draw().

+ Here is the caller graph for this function:

virtual G4double G4VSolid::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
pure virtual

Implemented in G4Trap, G4TessellatedSolid, G4Sphere, G4Torus, G4Cons, G4Tubs, G4Para, G4Trd, G4EllipticalCone, G4TwistedTubs, G4Polycone, G4Polyhedra, G4GenericTrap, G4Hype, G4Paraboloid, G4Box, G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid, G4OTubs, G4Orb, G4Ellipsoid, G4Tet, G4CutTubs, G4VTwistedFaceted, G4GenericPolycone, G4DisplacedSolid, G4EllipticalTube, G4ReflectedSolid, G4USolid, and G4VCSGfaceted.

Referenced by G4NavigationLogger::AlongComputeStepLog(), G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurfaceStartingFromBox(), G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurfaceStartingFromSphere(), G4VoxelSafety::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4ReflectedSolid::DistanceToIn(), G4DisplacedSolid::DistanceToIn(), G4UnionSolid::DistanceToIn(), G4IntersectionSolid::DistanceToIn(), G4SubtractionSolid::DistanceToIn(), G4SubtractionSolid::DistanceToOut(), EstimateSurfaceArea(), G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnASolidBoundary(), G4Navigator::GetLocalExitNormal(), G4ITNavigator::GetLocalExitNormal(), G4NavigationLogger::PreComputeStepLog(), G4VoxelSafety::SafetyForVoxelNode(), and G4SubtractionSolid::SurfaceNormal().

+ Here is the caller graph for this function:

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

Implemented in G4Trap, G4TessellatedSolid, G4Sphere, G4Cons, G4Torus, G4Tubs, G4Para, G4Trd, G4EllipticalCone, G4ExtrudedSolid, G4TwistedTubs, G4GenericTrap, G4Hype, G4Paraboloid, G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid, G4Box, G4Orb, G4OTubs, G4Ellipsoid, G4Tet, G4VTwistedFaceted, G4DisplacedSolid, G4CutTubs, G4USolid, G4ReflectedSolid, G4EllipticalTube, and G4VCSGfaceted.

Referenced by G4NavigationLogger::AlongComputeStepLog(), G4PVPlacement::CheckOverlaps(), G4VoxelSafety::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4IntersectionSolid::DistanceToIn(), G4SubtractionSolid::DistanceToIn(), G4ReflectedSolid::DistanceToOut(), G4DisplacedSolid::DistanceToOut(), G4UnionSolid::DistanceToOut(), G4IntersectionSolid::DistanceToOut(), G4SubtractionSolid::DistanceToOut(), GFlashShowerModel::ElectronDoIt(), EstimateSurfaceArea(), G4Navigator::GetLocalExitNormal(), G4ITNavigator::GetLocalExitNormal(), G4VIntersectionLocator::GetLocalSurfaceNormal(), G4BOptnForceCommonTruncatedExp::Initialize(), G4VXTRenergyLoss::PostStepDoIt(), G4IntersectionSolid::SurfaceNormal(), and G4SubtractionSolid::SurfaceNormal().

+ Here is the caller graph for this function:

void G4VSolid::DumpInfo ( ) const
inline

Referenced by G4CutTubs::ApproxSurfaceNormal(), G4OTubs::ApproxSurfaceNormal(), G4Torus::ApproxSurfaceNormal(), G4Tubs::ApproxSurfaceNormal(), G4Cons::ApproxSurfaceNormal(), G4Sphere::ApproxSurfaceNormal(), G4ReflectedSolid::CalculateExtent(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationBoxX::ComputeDimensions(), G4ParameterisationParaX::ComputeDimensions(), G4ReflectedSolid::ComputeDimensions(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4DisplacedSolid::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), G4ParameterisationTubsPhi::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationBoxY::ComputeDimensions(), G4ParameterisationParaY::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationPolyhedraPhi::ComputeDimensions(), G4ParameterisationTubsZ::ComputeDimensions(), G4ParameterisationBoxZ::ComputeDimensions(), G4ParameterisationConsZ::ComputeDimensions(), G4ParameterisationParaZ::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), G4ParameterisationTrdZ::ComputeDimensions(), G4ParameterisationPolyhedraZ::ComputeDimensions(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4CutTubs::CreateRotatedVertices(), G4Ellipsoid::CreateRotatedVertices(), G4Box::CreateRotatedVertices(), G4OTubs::CreateRotatedVertices(), G4Paraboloid::CreateRotatedVertices(), G4Tet::CreateRotatedVertices(), G4VTwistedFaceted::CreateRotatedVertices(), G4Para::CreateRotatedVertices(), G4Trd::CreateRotatedVertices(), G4Tubs::CreateRotatedVertices(), G4Torus::CreateRotatedVertices(), G4Cons::CreateRotatedVertices(), G4Sphere::CreateRotatedVertices(), G4Trap::CreateRotatedVertices(), G4SubtractionSolid::DistanceToIn(), G4EllipticalTube::DistanceToOut(), G4CutTubs::DistanceToOut(), G4Tet::DistanceToOut(), G4OTubs::DistanceToOut(), G4Ellipsoid::DistanceToOut(), G4VTwistedFaceted::DistanceToOut(), G4Orb::DistanceToOut(), G4Box::DistanceToOut(), G4GenericTrap::DistanceToOut(), G4Paraboloid::DistanceToOut(), G4Trd::DistanceToOut(), G4EllipticalCone::DistanceToOut(), G4Para::DistanceToOut(), G4Tubs::DistanceToOut(), G4Cons::DistanceToOut(), G4Torus::DistanceToOut(), G4Sphere::DistanceToOut(), G4Trap::DistanceToOut(), export_G4VSolid(), G4Polycone::G4Polycone(), G4Polyhedra::G4Polyhedra(), G4Trap::G4Trap(), G4BooleanSolid::GetConstituentSolid(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), and G4Orb::SurfaceNormal().

G4double G4VSolid::EstimateCubicVolume ( G4int  nStat,
G4double  epsilon 
) const
protected

Definition at line 203 of file G4VSolid.cc.

References CalculateExtent(), G4UniformRand, Inside(), kOutside, kXAxis, kYAxis, and kZAxis.

Referenced by G4VCSGfaceted::GetCubicVolume(), and GetCubicVolume().

+ 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 263 of file G4VSolid.cc.

References CalculateExtent(), DistanceToIn(), DistanceToOut(), G4UniformRand, Inside(), kOutside, kXAxis, kYAxis, and kZAxis.

Referenced by G4VCSGfaceted::GetSurfaceArea(), and GetSurfaceArea().

+ 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.

Referenced by G4BooleanSolid::StackPolyhedron().

+ 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, G4GenericTrap, G4Torus, G4Sphere, G4Cons, G4Tubs, G4USolid, G4Hype, G4Para, G4VTwistedFaceted, G4EllipticalCone, G4Trd, G4Tet, G4VCSGfaceted, G4Box, G4EllipticalTube, G4OTubs, G4Paraboloid, G4BooleanSolid, G4Ellipsoid, G4Orb, and G4CutTubs.

Definition at line 188 of file G4VSolid.cc.

References EstimateCubicVolume().

Referenced by G4PSDoseDeposit::ComputeVolume(), G4PSPassageCellFlux::ComputeVolume(), G4PSCellFlux::ComputeVolume(), G4MIRDLiver::Construct(), G4MIRDLeftClavicle::Construct(), G4MIRDLeftKidney::Construct(), G4MIRDLeftLeg::Construct(), G4MIRDRightAdrenal::Construct(), G4MIRDRightScapula::Construct(), G4MIRDLowerLargeIntestine::Construct(), G4MIRDSkull::Construct(), G4MIRDSmallIntestine::Construct(), G4MIRDMaleGenitalia::Construct(), G4MIRDThyroid::Construct(), G4MIRDPelvis::Construct(), G4MIRDUpperLargeIntestine::Construct(), G4MIRDLeftLegBone::Construct(), G4MIRDLeftAdrenal::Construct(), G4MIRDLeftOvary::Construct(), G4MIRDRightClavicle::Construct(), G4MIRDRightKidney::Construct(), G4MIRDLeftScapula::Construct(), G4MIRDRightLeg::Construct(), G4MIRDRightLegBone::Construct(), G4MIRDLeftTeste::Construct(), G4MIRDSpleen::Construct(), G4MIRDPancreas::Construct(), G4MIRDRightTeste::Construct(), G4MIRDRibCage::Construct(), G4MIRDUpperSpine::Construct(), G4MIRDMiddleLowerSpine::Construct(), G4MIRDBrain::Construct(), G4MIRDHeart::Construct(), G4MIRDThymus::Construct(), G4MIRDStomach::Construct(), G4MIRDTrunk::Construct(), G4MIRDUterus::Construct(), G4MIRDRightBreast::Construct(), G4MIRDRightOvary::Construct(), G4MIRDLeftLung::Construct(), G4MIRDLeftBreast::Construct(), G4MIRDRightLung::Construct(), G4MIRDUrinaryBladder::Construct(), G4MIRDLeftArmBone::Construct(), G4MIRDRightArmBone::Construct(), G4MIRDHead::Construct(), export_G4VSolid(), G4EllipticalTube::GetCubicVolume(), G4Hype::GetCubicVolume(), G4GenericTrap::GetCubicVolume(), G4TessellatedSolid::GetCubicVolume(), and G4LogicalVolume::GetMass().

+ Here is the call 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

Implemented in G4Trap, G4TessellatedSolid, G4TwistedTubs, G4Sphere, G4Cons, G4Torus, G4Tubs, G4Trd, G4VTwistedFaceted, G4Para, G4EllipticalCone, G4USolid, G4ExtrudedSolid, G4GenericTrap, G4Polycone, G4Polyhedra, G4Paraboloid, G4TwistedTrap, G4Hype, G4DisplacedSolid, G4Orb, G4Box, G4Tet, G4Ellipsoid, G4OTubs, G4ReflectedSolid, G4CutTubs, G4GenericPolycone, G4EllipticalTube, G4TwistedTrd, G4BooleanSolid, G4VCSGfaceted, G4TwistedBox, G4IntersectionSolid, G4SubtractionSolid, and G4UnionSolid.

Referenced by G4HepRepFileSceneHandler::AddHepRepInstance(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GDMLWriteSolids::AddSolid(), G4tgbVolume::BuildSolidForDivision(), G4PVDivision::CheckAndSetParameters(), G4ReplicatedSlice::CheckAndSetParameters(), Clone(), G4GeometryWorkspace::CloneParameterisedSolids(), G4GeometryWorkspace::CloneReplicaSolid(), G4VoxelNavigation::ComputeSafety(), G4NavigationLogger::ComputeSafetyLog(), G4VDivisionParameterisation::ComputeSolid(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4SubtractionSolid::DistanceToIn(), G4tgbGeometryDumper::DumpPVParameterised(), G4tgbGeometryDumper::DumpSolid(), G4PVDivision::ErrorInAxis(), G4ReplicatedSlice::ErrorInAxis(), G4tgbVolume::FindOrConstructG4Solid(), G4VParameterisationBox::G4VParameterisationBox(), G4VParameterisationCons::G4VParameterisationCons(), G4VParameterisationPara::G4VParameterisationPara(), G4VParameterisationPolycone::G4VParameterisationPolycone(), G4VParameterisationPolyhedra::G4VParameterisationPolyhedra(), G4VParameterisationTrd::G4VParameterisationTrd(), G4VParameterisationTubs::G4VParameterisationTubs(), G4HepRepSceneHandler::getGeometryInstance(), G4Navigator::GetLocalExitNormal(), G4ITNavigator::GetLocalExitNormal(), GetPointOnSurface(), G4tgbGeometryDumper::GetSolidParams(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), G4NavigationLogger::PrintDaughterLog(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VoxelSafety::SafetyForVoxelHeader(), G4PVDivision::SetParameterisation(), G4ReplicatedSlice::SetParameterisation(), G4BooleanSolid::StackPolyhedron(), G4CSGSolid::StreamInfo(), and G4PhysicalVolumeModel::VisitGeometryAndGetVisReps().

+ Here is the caller graph for this function:

G4VisExtent G4VSolid::GetExtent ( ) const
virtual

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

Definition at line 621 of file G4VSolid.cc.

References CalculateExtent(), kXAxis, kYAxis, kZAxis, G4VisExtent::SetXmax(), G4VisExtent::SetXmin(), G4VisExtent::SetYmax(), G4VisExtent::SetYmin(), G4VisExtent::SetZmax(), and G4VisExtent::SetZmin().

Referenced by G4BoundingSphereScene::Accrue(), and G4tgbVolume::BuildSolidForDivision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String G4VSolid::GetName ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddDetector(), G4HepRepFileSceneHandler::AddHepRepInstance(), G4GMocrenFileSceneHandler::AddPrimitive(), G4XXXFileSceneHandler::AddSolid(), G4XXXStoredSceneHandler::AddSolid(), G4HepRepFileSceneHandler::AddSolid(), G4XXXSGSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GDMLWriteSolids::AddSolid(), G4NavigationLogger::AlongComputeStepLog(), G4GDMLWriteSolids::BooleanWrite(), G4GDMLWriteSolids::BoxWrite(), G4Trd::CheckAndSetAllParameters(), G4VDivisionParameterisation::CheckNDivAndWidth(), G4VDivisionParameterisation::CheckOffset(), G4GenericTrap::CheckOrder(), G4ParameterisationPolyconeRho::CheckParametersValidity(), G4ParameterisationPolyhedraRho::CheckParametersValidity(), G4ParameterisationPolyhedraPhi::CheckParametersValidity(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4PhantomParameterisation::CheckVoxelsFillContainer(), G4GenericTrap::ComputeIsTwisted(), G4VoxelSafety::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4NavigationLogger::ComputeSafetyLog(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4GDMLWriteSolids::ConeWrite(), CCalG4Hall::constructIn(), G4GenericPolycone::Create(), G4Polycone::Create(), G4Polyhedra::Create(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4UGenericPolycone::CreatePolyhedron(), G4GenericPolycone::CreatePolyhedron(), G4UPolyhedra::CreatePolyhedron(), G4ReflectedSolid::CreatePolyhedron(), G4Polyhedra::CreatePolyhedron(), G4ReflectionFactory::CreateReflectedLV(), G4GenericTrap::CreateTessellatedSolid(), G4GDMLWriteSolids::CutTubeWrite(), G4PhysicalVolumeModel::DescribeSolid(), G4SubtractionSolid::DistanceToIn(), G4Paraboloid::DistanceToIn(), G4tgbGeometryDumper::DumpSolid(), G4GDMLWriteSolids::ElconeWrite(), G4GDMLWriteSolids::EllipsoidWrite(), G4GDMLWriteSolids::EltubeWrite(), G4PVDivision::ErrorInAxis(), G4ReplicatedSlice::ErrorInAxis(), export_G4VSolid(), G4Box::G4Box(), G4Cons::G4Cons(), G4CutTubs::G4CutTubs(), G4Ellipsoid::G4Ellipsoid(), G4EllipticalCone::G4EllipticalCone(), G4Hype::G4Hype(), G4OTubs::G4OTubs(), G4Para::G4Para(), G4Paraboloid::G4Paraboloid(), G4Polycone::G4Polycone(), G4Polyhedra::G4Polyhedra(), G4Sphere::G4Sphere(), G4Trap::G4Trap(), G4Tubs::G4Tubs(), G4VParameterisationCons::G4VParameterisationCons(), G4VParameterisationPara::G4VParameterisationPara(), G4VParameterisationPolycone::G4VParameterisationPolycone(), G4VParameterisationPolyhedra::G4VParameterisationPolyhedra(), G4VParameterisationTrd::G4VParameterisationTrd(), G4VTwistedFaceted::G4VTwistedFaceted(), G4GDMLWriteSolids::GenericPolyconeWrite(), G4GDMLWriteSolids::GenTrapWrite(), G4HepRepSceneHandler::getGeometryInstance(), G4Navigator::GetLocalExitNormal(), G4ITNavigator::GetLocalExitNormal(), G4PhantomParameterisation::GetReplicaNo(), G4GDMLWriteSolids::HypeWrite(), G4TessellatedSolid::InsideNoVoxels(), G4TessellatedSolid::InsideVoxels(), G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator::LocateGlobalPointAndSetup(), G4GenericTrap::MakeDownFacet(), G4Trap::MakePlane(), G4Trap::MakePlanes(), G4GenericTrap::MakeUpFacet(), G4GDMLWriteSolids::OrbWrite(), G4GDMLWriteSolids::ParaboloidWrite(), G4GDMLWriteParamvol::ParametersWrite(), G4GDMLWriteSolids::ParaWrite(), G4GDMLWriteSolids::PolyconeWrite(), G4GDMLWriteSolids::PolyhedraWrite(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), G4NavigationLogger::PrintDaughterLog(), G4tgbVolumeMgr::RegisterMe(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VSceneHandler::RequestPrimitives(), G4GenericPolycone::Reset(), G4Polyhedra::Reset(), G4VoxelSafety::SafetyForVoxelNode(), G4Torus::SetAllParameters(), G4Trap::SetAllParameters(), G4Polycone::SetOriginalParameters(), G4Polyhedra::SetOriginalParameters(), G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), G4GDMLWriteSolids::SphereWrite(), G4BooleanSolid::StackPolyhedron(), G4CSGSolid::StreamInfo(), G4TwistedBox::StreamInfo(), G4VCSGfaceted::StreamInfo(), G4BooleanSolid::StreamInfo(), G4TwistedTrd::StreamInfo(), G4EllipticalTube::StreamInfo(), G4GenericPolycone::StreamInfo(), G4CutTubs::StreamInfo(), G4Ellipsoid::StreamInfo(), G4OTubs::StreamInfo(), G4Tet::StreamInfo(), G4Box::StreamInfo(), G4ReflectedSolid::StreamInfo(), G4Orb::StreamInfo(), G4VTwistedFaceted::StreamInfo(), G4Hype::StreamInfo(), G4Paraboloid::StreamInfo(), G4TwistedTrap::StreamInfo(), G4Polycone::StreamInfo(), G4Polyhedra::StreamInfo(), G4GenericTrap::StreamInfo(), G4ExtrudedSolid::StreamInfo(), G4TwistedTubs::StreamInfo(), G4EllipticalCone::StreamInfo(), G4DisplacedSolid::StreamInfo(), G4Para::StreamInfo(), G4Trd::StreamInfo(), G4Tubs::StreamInfo(), G4Torus::StreamInfo(), G4Cons::StreamInfo(), G4Sphere::StreamInfo(), G4Trap::StreamInfo(), G4GDMLRead::StripNames(), SubstractSolids(), G4GDMLWriteSolids::TessellatedWrite(), G4GDMLWriteSolids::TetWrite(), G4GDMLWriteSolids::TorusWrite(), G4GDMLWriteSolids::TrapWrite(), G4GDMLWriteStructure::TraverseVolumeTree(), G4GDMLWriteSolids::TrdWrite(), G4GDMLWriteSolids::TubeWrite(), G4GDMLWriteSolids::TwistedboxWrite(), G4GDMLWriteSolids::TwistedtrapWrite(), G4GDMLWriteSolids::TwistedtrdWrite(), G4GDMLWriteSolids::TwistedtubsWrite(), G4PhysicalVolumeModel::VisitGeometryAndGetVisReps(), and G4GDMLWriteSolids::XtruWrite().

G4ThreeVector G4VSolid::GetPointOnSurface ( ) const
virtual

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

Definition at line 152 of file G4VSolid.cc.

References G4endl, G4Exception(), GetEntityType(), and JustWarning.

Referenced by G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), export_G4VSolid(), G4ReflectedSolid::GetPointOnSurface(), G4BooleanSolid::GetPointOnSurface(), and G4DisplacedSolid::GetPointOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polyhedron * G4VSolid::GetPolyhedron ( ) const
virtual

Reimplemented in G4TessellatedSolid, G4DisplacedSolid, G4USolid, G4EllipticalCone, G4GenericTrap, G4TwistedTubs, G4Hype, G4Paraboloid, G4ReflectedSolid, G4Tet, G4Ellipsoid, G4VTwistedFaceted, G4EllipticalTube, G4VCSGfaceted, G4BooleanSolid, and G4CSGSolid.

Definition at line 644 of file G4VSolid.cc.

Referenced by G4PhysicalVolumeModel::DescribeSolid(), PerspectiveVisAction::ExtendedDraw(), G4VSceneHandler::RequestPrimitives(), and G4BooleanSolid::StackPolyhedron().

+ Here is the caller graph for this function:

G4double G4VSolid::GetSurfaceArea ( )
virtual

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

Definition at line 250 of file G4VSolid.cc.

References EstimateSurfaceArea().

Referenced by G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume(), export_G4VSolid(), G4EllipticalTube::GetSurfaceArea(), G4VTwistedFaceted::GetSurfaceArea(), G4Hype::GetSurfaceArea(), G4GenericTrap::GetSurfaceArea(), and G4TwistedTubs::GetSurfaceArea().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VSolid::GetTolerance ( ) const
inline

Referenced by G4ParameterisedNavigation::ComputeStep(), and G4NavigationLogger::PreComputeStepLog().

+ Here is the caller graph for this function:

virtual EInside G4VSolid::Inside ( const G4ThreeVector p) const
pure virtual

Implemented in G4Trap, G4TessellatedSolid, G4Sphere, G4Cons, G4Tubs, G4Torus, G4TwistedTubs, G4Para, G4Trd, G4EllipticalCone, G4ExtrudedSolid, G4Polycone, G4Polyhedra, G4GenericTrap, G4Hype, G4Paraboloid, G4VTwistedFaceted, G4Box, G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid, G4Ellipsoid, G4OTubs, G4Orb, G4Tet, G4GenericPolycone, G4CutTubs, G4DisplacedSolid, G4EllipticalTube, G4VCSGfaceted, G4ReflectedSolid, and G4USolid.

Referenced by G4NavigationLogger::AlongComputeStepLog(), G4ReplicaNavigation::BackLocate(), GFlashShowerModel::CheckContainment(), G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), G4VoxelSafety::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4TheRayTracer::CreateBitMap(), G4PolyPhiFace::Diagnose(), G4IntersectionSolid::DistanceToIn(), G4SubtractionSolid::DistanceToIn(), G4UnionSolid::DistanceToOut(), EstimateCubicVolume(), EstimateSurfaceArea(), G4Navigator::GetLocalExitNormal(), G4ITNavigator::GetLocalExitNormal(), G4VIntersectionLocator::GetLocalSurfaceNormal(), G4BooleanSolid::GetPointOnSurface(), G4PhantomParameterisation::GetReplicaNo(), G4ReflectedSolid::Inside(), G4DisplacedSolid::Inside(), G4UnionSolid::Inside(), G4IntersectionSolid::Inside(), G4SubtractionSolid::Inside(), G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator::LocateGlobalPointAndSetup(), G4NavigationLogger::PreComputeStepLog(), DicomIntersectVolume::SetNewValue(), G4RTPrimaryGeneratorAction::SetUp(), G4UnionSolid::SurfaceNormal(), G4SubtractionSolid::SurfaceNormal(), and G4IntersectionSolid::SurfaceNormal().

+ Here is the caller graph for this function:

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

Referenced by export_G4VSolid(), and G4GDMLRead::StripNames().

+ Here is the caller graph for this function:

virtual std::ostream& G4VSolid::StreamInfo ( std::ostream &  os) 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

G4String G4VSolid::fshapeName
private

Definition at line 318 of file G4VSolid.hh.

Referenced by operator=().

G4double G4VSolid::kCarTolerance
protected

Definition at line 305 of file G4VSolid.hh.

Referenced by G4TessellatedSolid::AddFacet(), G4USolid::CalculateExtent(), G4ReflectedSolid::CalculateExtent(), G4Box::CalculateExtent(), G4CutTubs::CalculateExtent(), G4VTwistedFaceted::CalculateExtent(), G4Orb::CalculateExtent(), G4OTubs::CalculateExtent(), G4Ellipsoid::CalculateExtent(), G4Paraboloid::CalculateExtent(), G4Trd::CalculateExtent(), G4GenericTrap::CalculateExtent(), G4Para::CalculateExtent(), G4Tubs::CalculateExtent(), G4Cons::CalculateExtent(), G4Torus::CalculateExtent(), G4Sphere::CalculateExtent(), G4TessellatedSolid::CalculateExtent(), G4Trap::CalculateExtent(), G4Trd::CheckAndSetAllParameters(), G4GenericTrap::ComputeIsTwisted(), G4GenericPolycone::Create(), G4Polycone::Create(), G4Polyhedra::Create(), G4UGenericPolycone::CreatePolyhedron(), G4GenericPolycone::CreatePolyhedron(), G4CutTubs::CreatePolyhedron(), G4UPolyhedra::CreatePolyhedron(), G4Polyhedra::CreatePolyhedron(), G4CutTubs::CreateRotatedVertices(), G4OTubs::CreateRotatedVertices(), G4Tubs::CreateRotatedVertices(), G4TessellatedSolid::CreateVertexList(), G4VCSGfaceted::DistanceTo(), G4VCSGfaceted::DistanceToIn(), G4Paraboloid::DistanceToIn(), G4Hype::DistanceToIn(), G4Trd::DistanceToIn(), G4EllipticalCone::DistanceToIn(), G4Para::DistanceToIn(), G4Sphere::DistanceToIn(), G4Trap::DistanceToIn(), G4TessellatedSolid::DistanceToInCore(), G4VCSGfaceted::DistanceToOut(), G4CutTubs::DistanceToOut(), G4OTubs::DistanceToOut(), G4UnionSolid::DistanceToOut(), G4Paraboloid::DistanceToOut(), G4Hype::DistanceToOut(), G4GenericTrap::DistanceToOut(), G4Trd::DistanceToOut(), G4EllipticalCone::DistanceToOut(), G4Para::DistanceToOut(), G4Tubs::DistanceToOut(), G4Torus::DistanceToOut(), G4Cons::DistanceToOut(), G4Sphere::DistanceToOut(), G4Trap::DistanceToOut(), G4TessellatedSolid::DistanceToOutCandidates(), G4TessellatedSolid::DistanceToOutCore(), G4TessellatedSolid::DistanceToOutNoVoxels(), G4GenericTrap::DistToPlane(), G4GenericTrap::DistToTriangle(), G4Box::G4Box(), G4Cons::G4Cons(), G4CutTubs::G4CutTubs(), G4Ellipsoid::G4Ellipsoid(), G4EllipticalCone::G4EllipticalCone(), G4EllipticalTube::G4EllipticalTube(), G4ExtrudedSolid::G4ExtrudedSolid(), G4GenericTrap::G4GenericTrap(), G4Hype::G4Hype(), G4Orb::G4Orb(), G4OTubs::G4OTubs(), G4Sphere::G4Sphere(), G4Trap::G4Trap(), G4Tubs::G4Tubs(), G4VSolid(), G4VTwistedFaceted::G4VTwistedFaceted(), G4TessellatedSolid::Initialize(), G4VCSGfaceted::Inside(), G4Paraboloid::Inside(), G4Hype::Inside(), G4VTwistedFaceted::Inside(), G4Trd::Inside(), G4ExtrudedSolid::Inside(), G4Para::Inside(), G4Trap::Inside(), G4TessellatedSolid::InsideNoVoxels(), G4GenericTrap::InsidePolygone(), G4TessellatedSolid::InsideVoxels(), G4ExtrudedSolid::IsSameLine(), G4ExtrudedSolid::IsSameLineSegment(), G4GenericTrap::IsSegCrossingZ(), G4GenericTrap::NormalToPlane(), operator=(), G4TessellatedSolid::SafetyFromInside(), G4TessellatedSolid::SafetyFromOutside(), G4Torus::SetAllParameters(), G4Polycone::SetOriginalParameters(), G4Polyhedra::SetOriginalParameters(), G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), G4Tet::SurfaceNormal(), G4Paraboloid::SurfaceNormal(), G4GenericTrap::SurfaceNormal(), G4Trd::SurfaceNormal(), G4Para::SurfaceNormal(), G4Torus::SurfaceNormal(), and G4Trap::SurfaceNormal().


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