ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4CSGSolid Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/CSG/include/G4CSGSolid.hh>

+ Inheritance diagram for G4CSGSolid:
+ Collaboration diagram for G4CSGSolid:

Public Member Functions

 G4CSGSolid (const G4String &pName)
 
virtual ~G4CSGSolid ()
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
virtual G4PolyhedronGetPolyhedron () const
 
 G4CSGSolid (__void__ &)
 
 G4CSGSolid (const G4CSGSolid &rhs)
 
G4CSGSolidoperator= (const G4CSGSolid &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 void BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) 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=nullptr, G4ThreeVector *n=nullptr) 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
 
void DumpInfo () const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const =0
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronCreatePolyhedron () 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)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Member Functions

G4double GetRadiusInRing (G4double rmin, G4double rmax) 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

G4double fCubicVolume = 0.0
 
G4double fSurfaceArea = 0.0
 
G4bool fRebuildPolyhedron = false
 
G4PolyhedronfpPolyhedron = nullptr
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 41 of file G4CSGSolid.hh.

View newest version in sPHENIX GitHub at line 41 of file G4CSGSolid.hh

Constructor & Destructor Documentation

G4CSGSolid::G4CSGSolid ( const G4String pName)

Definition at line 50 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 50 of file G4CSGSolid.cc

G4CSGSolid::~G4CSGSolid ( )
virtual

Definition at line 70 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 70 of file G4CSGSolid.cc

References fpPolyhedron.

G4CSGSolid::G4CSGSolid ( __void__ &  a)

Definition at line 60 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 60 of file G4CSGSolid.cc

G4CSGSolid::G4CSGSolid ( const G4CSGSolid rhs)

Definition at line 80 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 80 of file G4CSGSolid.cc

Member Function Documentation

G4Polyhedron * G4CSGSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 128 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 128 of file G4CSGSolid.cc

References G4VSolid::CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, HepPolyhedron::GetNumberOfRotationSteps(), G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< _Mutex_t >::unlock().

Referenced by G4ScoringCylinder::Draw(), G4ScoringBox::Draw(), G4ScoringCylinder::DrawColumn(), and G4ScoringBox::DrawColumn().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4CSGSolid::GetRadiusInRing ( G4double  rmin,
G4double  rmax 
) const
protected

Definition at line 110 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 110 of file G4CSGSolid.cc

References G4RandomRadiusInRing().

Referenced by G4CutTubs::GetPointOnSurface(), G4Tubs::GetPointOnSurface(), G4Torus::GetPointOnSurface(), G4Cons::GetPointOnSurface(), and G4Sphere::GetPointOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 90 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 90 of file G4CSGSolid.cc

References fCubicVolume, fpPolyhedron, fRebuildPolyhedron, fSurfaceArea, and G4VSolid::operator=().

Referenced by G4Box::operator=(), G4Orb::operator=(), G4CutTubs::operator=(), G4Trd::operator=(), G4Tubs::operator=(), G4Para::operator=(), G4Torus::operator=(), G4Cons::operator=(), G4Sphere::operator=(), and G4Trap::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VSolid.

Reimplemented in G4Trap, G4Sphere, G4Cons, G4Para, G4Torus, G4Tubs, G4Trd, G4CutTubs, G4Orb, and G4Box.

Definition at line 115 of file G4CSGSolid.cc.

View newest version in sPHENIX GitHub at line 115 of file G4CSGSolid.cc

References G4VSolid::GetEntityType(), and G4VSolid::GetName().

+ Here is the call graph for this function:

Member Data Documentation

G4Polyhedron* G4CSGSolid::fpPolyhedron = nullptr
mutableprotected

Definition at line 73 of file G4CSGSolid.hh.

View newest version in sPHENIX GitHub at line 73 of file G4CSGSolid.hh

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

G4bool G4CSGSolid::fRebuildPolyhedron = false
mutableprotected

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