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

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

+ Inheritance diagram for G4Orb:
+ Collaboration diagram for G4Orb:

Public Member Functions

 G4Orb (const G4String &pName, G4double pRmax)
 
 ~G4Orb ()
 
G4double GetRadius () const
 
G4double GetRadialTolerance () const
 
void SetRadius (G4double newRmax)
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
void BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) const
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const
 
EInside Inside (const G4ThreeVector &p) const
 
G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
G4double DistanceToIn (const G4ThreeVector &p) const
 
G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const
 
G4double DistanceToOut (const G4ThreeVector &p) const
 
G4GeometryType GetEntityType () const
 
G4ThreeVector GetPointOnSurface () const
 
G4VSolid * Clone () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
G4VisExtent GetExtent () const
 
G4Polyhedron * CreatePolyhedron () const
 
 G4Orb (__void__ &)
 
 G4Orb (const G4Orb &rhs)
 
G4Orb & operator= (const G4Orb &rhs)
 
- Public Member Functions inherited from G4CSGSolid
 G4CSGSolid (const G4String &pName)
 
virtual ~G4CSGSolid ()
 
virtual G4Polyhedron * GetPolyhedron () const
 
 G4CSGSolid (__void__ &)
 
 G4CSGSolid (const G4CSGSolid &rhs)
 
G4CSGSolid & operator= (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
 
void DumpInfo () const
 
virtual const G4VSolid * GetConstituentSolid (G4int no) const
 
virtual G4VSolid * GetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolid * GetDisplacedSolidPtr () const
 
virtual G4DisplacedSolid * GetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolid & operator= (const G4VSolid &rhs)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Member Functions

void Initialize ()
 
- Protected Member Functions inherited from G4CSGSolid
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
 

Private Attributes

G4double fRmax = 0.0
 
G4double halfRmaxTol = 0.0
 
G4double sqrRmaxPlusTol = 0.0
 
G4double sqrRmaxMinusTol = 0.0
 

Additional Inherited Members

- Protected Attributes inherited from G4CSGSolid
G4double fCubicVolume = 0.0
 
G4double fSurfaceArea = 0.0
 
G4bool fRebuildPolyhedron = false
 
G4Polyhedron * fpPolyhedron = nullptr
 

Detailed Description

Definition at line 55 of file G4Orb.hh.

View newest version in sPHENIX GitHub at line 55 of file G4Orb.hh

Constructor & Destructor Documentation

G4Orb::G4Orb ( const G4String &  pName,
G4double  pRmax 
)

Definition at line 55 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 55 of file G4Orb.cc

References Initialize().

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Orb::~G4Orb ( )

Definition at line 75 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 75 of file G4Orb.cc

G4Orb::G4Orb ( __void__ &  a)

Definition at line 66 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 66 of file G4Orb.cc

G4Orb::G4Orb ( const G4Orb &  rhs)

Definition at line 83 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 83 of file G4Orb.cc

Member Function Documentation

void G4Orb::BoundingLimits ( G4ThreeVector &  pMin,
G4ThreeVector &  pMax 
) const
virtual

Reimplemented from G4VSolid.

Definition at line 151 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 151 of file G4Orb.cc

References G4VSolid::DumpInfo(), G4Exception(), G4VSolid::GetName(), GetRadius(), JustWarning, message(), pMax, radius, CLHEP::Hep3Vector::set(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by CalculateExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Orb::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits &  pVoxelLimit,
const G4AffineTransform &  pTransform,
G4double &  pmin,
G4double &  pmax 
) const
virtual

Implements G4VSolid.

Definition at line 176 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 176 of file G4Orb.cc

References G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), GetRadius(), halfpi, k, pi, pMax, radius, CLHEP::Hep2Vector::set(), x, y, and z.

+ Here is the call graph for this function:

G4VSolid * G4Orb::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 415 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 415 of file G4Orb.cc

References G4Orb().

+ Here is the call graph for this function:

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

Reimplemented from G4VSolid.

Definition at line 140 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 140 of file G4Orb.cc

References G4VPVParameterisation::ComputeDimensions().

+ Here is the call graph for this function:

G4Polyhedron * G4Orb::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 461 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 461 of file G4Orb.cc

References fRmax, and pi.

void G4Orb::DescribeYourselfTo ( G4VGraphicsScene &  scene) const
virtual

Implements G4VSolid.

Definition at line 451 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 451 of file G4Orb.cc

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

G4double G4Orb::DistanceToIn ( const G4ThreeVector &  p,
const G4ThreeVector &  v 
) const
virtual

Implements G4VSolid.

Definition at line 281 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 281 of file G4Orb.cc

References D(), CLHEP::Hep3Vector::dot(), fRmax, halfRmaxTol, kInfinity, CLHEP::Hep3Vector::mag2(), and sqrRmaxMinusTol.

+ Here is the call graph for this function:

G4double G4Orb::DistanceToIn ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 324 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 324 of file G4Orb.cc

References fRmax, and CLHEP::Hep3Vector::mag().

+ Here is the call graph for this function:

G4double G4Orb::DistanceToOut ( const G4ThreeVector &  p,
const G4ThreeVector &  v,
const G4bool  calcNorm = false,
G4bool *  validNorm = nullptr,
G4ThreeVector *  n = nullptr 
) const
virtual

Implements G4VSolid.

Definition at line 336 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 336 of file G4Orb.cc

References D(), CLHEP::Hep3Vector::dot(), fRmax, halfRmaxTol, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), sqrRmaxMinusTol, and v.

+ Here is the call graph for this function:

G4double G4Orb::DistanceToOut ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 380 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 380 of file G4Orb.cc

References G4VSolid::DumpInfo(), fRmax, G4cout, G4Exception(), G4VSolid::GetName(), Inside(), JustWarning, kOutside, CLHEP::Hep3Vector::mag(), message(), mm, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

G4double G4Orb::GetCubicVolume ( )
inlinevirtual

Reimplemented from G4VSolid.

G4GeometryType G4Orb::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 406 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 406 of file G4Orb.cc

G4VisExtent G4Orb::GetExtent ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 456 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 456 of file G4Orb.cc

References fRmax.

G4ThreeVector G4Orb::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 442 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 442 of file G4Orb.cc

References fRmax, and G4RandomDirection().

+ Here is the call graph for this function:

G4double G4Orb::GetRadialTolerance ( ) const
inline

Referenced by G4Voxelizer::BuildVoxelLimits().

+ Here is the caller graph for this function:

G4double G4Orb::GetRadius ( ) const
inline

Referenced by BoundingLimits(), CalculateExtent(), export_G4Orb(), G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Orb_dimensionsWrite(), PHG4GDMLWriteParamvol::Orb_dimensionsWrite(), PHG4GDMLWriteSolids::OrbWrite(), and G4GDMLWriteSolids::OrbWrite().

+ Here is the caller graph for this function:

G4double G4Orb::GetSurfaceArea ( )
inlinevirtual

Reimplemented from G4VSolid.

void G4Orb::Initialize ( )
protected

Definition at line 117 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 117 of file G4Orb.cc

References FatalException, fRmax, G4Exception(), halfRmaxTol, G4VSolid::kCarTolerance, max, sqrRmaxMinusTol, and sqrRmaxPlusTol.

Referenced by G4Orb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EInside G4Orb::Inside ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 259 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 259 of file G4Orb.cc

References kInside, kOutside, kSurface, CLHEP::Hep3Vector::mag2(), sqrRmaxMinusTol, and sqrRmaxPlusTol.

Referenced by DistanceToOut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 93 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 93 of file G4Orb.cc

References fRmax, halfRmaxTol, G4CSGSolid::operator=(), sqrRmaxMinusTol, and sqrRmaxPlusTol.

+ Here is the call graph for this function:

void G4Orb::SetRadius ( G4double  newRmax)
inline

Referenced by G4GDMLParameterisation::ComputeDimensions(), and export_G4Orb().

+ Here is the caller graph for this function:

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

Reimplemented from G4CSGSolid.

Definition at line 424 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 424 of file G4Orb.cc

References fRmax, G4VSolid::GetName(), and mm.

+ Here is the call graph for this function:

G4ThreeVector G4Orb::SurfaceNormal ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 270 of file G4Orb.cc.

View newest version in sPHENIX GitHub at line 270 of file G4Orb.cc

References CLHEP::Hep3Vector::mag().

+ Here is the call graph for this function:

Member Data Documentation

G4double G4Orb::fRmax = 0.0
private

Definition at line 134 of file G4Orb.hh.

View newest version in sPHENIX GitHub at line 134 of file G4Orb.hh

Referenced by CreatePolyhedron(), DistanceToIn(), DistanceToOut(), GetExtent(), GetPointOnSurface(), Initialize(), operator=(), and StreamInfo().

G4double G4Orb::halfRmaxTol = 0.0
private

Definition at line 135 of file G4Orb.hh.

View newest version in sPHENIX GitHub at line 135 of file G4Orb.hh

Referenced by DistanceToIn(), DistanceToOut(), Initialize(), and operator=().

G4double G4Orb::sqrRmaxMinusTol = 0.0
private

Definition at line 136 of file G4Orb.hh.

View newest version in sPHENIX GitHub at line 136 of file G4Orb.hh

Referenced by DistanceToIn(), DistanceToOut(), Initialize(), Inside(), and operator=().

G4double G4Orb::sqrRmaxPlusTol = 0.0
private

Definition at line 136 of file G4Orb.hh.

View newest version in sPHENIX GitHub at line 136 of file G4Orb.hh

Referenced by Initialize(), Inside(), and operator=().


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