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

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/include/G4Polycone.hh>

+ Inheritance diagram for G4Polycone:
+ Collaboration diagram for G4Polycone:

Public Member Functions

 G4Polycone (const G4String &name, G4double phiStart, G4double phiTotal, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
 
 G4Polycone (const G4String &name, G4double phiStart, G4double phiTotal, G4int numRZ, const G4double r[], const G4double z[])
 
virtual ~G4Polycone ()
 
EInside Inside (const G4ThreeVector &p) const
 
G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
G4double DistanceToIn (const G4ThreeVector &p) const
 
void BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) const
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const
 
G4ThreeVector GetPointOnSurface () const
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4GeometryType GetEntityType () const
 
G4VSolidClone () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
G4PolyhedronCreatePolyhedron () const
 
G4bool Reset ()
 
G4double GetStartPhi () const
 
G4double GetEndPhi () const
 
G4double GetSinStartPhi () const
 
G4double GetCosStartPhi () const
 
G4double GetSinEndPhi () const
 
G4double GetCosEndPhi () const
 
G4bool IsOpen () const
 
G4int GetNumRZCorner () const
 
G4PolyconeSideRZ GetCorner (G4int index) const
 
G4PolyconeHistoricalGetOriginalParameters () const
 
void SetOriginalParameters (G4PolyconeHistorical *pars)
 
 G4Polycone (__void__ &)
 
 G4Polycone (const G4Polycone &source)
 
G4Polyconeoperator= (const G4Polycone &source)
 
- Public Member Functions inherited from G4VCSGfaceted
 G4VCSGfaceted (const G4String &name)
 
virtual ~G4VCSGfaceted ()
 
 G4VCSGfaceted (const G4VCSGfaceted &source)
 
G4VCSGfacetedoperator= (const G4VCSGfaceted &source)
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronGetPolyhedron () 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)
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
 G4VCSGfaceted (__void__ &)
 
- 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 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

G4bool SetOriginalParameters (G4ReduciblePolygon *rz)
 
void Create (G4double phiStart, G4double phiTotal, G4ReduciblePolygon *rz)
 
void CopyStuff (const G4Polycone &source)
 
G4ThreeVector GetPointOnCone (G4double fRmin1, G4double fRmax1, G4double fRmin2, G4double fRmax2, G4double zOne, G4double zTwo, G4double &totArea) const
 
G4ThreeVector GetPointOnTubs (G4double fRMin, G4double fRMax, G4double zOne, G4double zTwo, G4double &totArea) const
 
G4ThreeVector GetPointOnCut (G4double fRMin1, G4double fRMax1, G4double fRMin2, G4double fRMax2, G4double zOne, G4double zTwo, G4double &totArea) const
 
G4ThreeVector GetPointOnRing (G4double fRMin, G4double fRMax, G4double fRMin2, G4double fRMax2, G4double zOne) const
 
- Protected Member Functions inherited from G4VCSGfaceted
virtual G4double DistanceTo (const G4ThreeVector &p, const G4bool outgoing) const
 
G4ThreeVector GetPointOnSurfaceGeneric () const
 
void CopyStuff (const G4VCSGfaceted &source)
 
void DeleteStuff ()
 
- 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 startPhi
 
G4double endPhi
 
G4bool phiIsOpen = false
 
G4int numCorner
 
G4PolyconeSideRZcorners = nullptr
 
G4PolyconeHistoricaloriginal_parameters = nullptr
 
G4EnclosingCylinderenclosingCylinder = nullptr
 
- Protected Attributes inherited from G4VCSGfaceted
G4int numFace = 0
 
G4VCSGface ** faces = nullptr
 
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 75 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 75 of file G4Polycone.hh

Constructor & Destructor Documentation

G4Polycone::G4Polycone ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numZPlanes,
const G4double  zPlane[],
const G4double  rInner[],
const G4double  rOuter[] 
)

Definition at line 53 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 53 of file G4Polycone.cc

References Create(), G4VSolid::DumpInfo(), FatalErrorInArgument, G4endl, G4Exception(), message(), G4PolyconeHistorical::Num_z_planes, G4PolyconeHistorical::Opening_angle, original_parameters, G4PolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, G4PolyconeHistorical::Start_angle, and G4PolyconeHistorical::Z_values.

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polycone::G4Polycone ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numRZ,
const G4double  r[],
const G4double  z[] 
)

Definition at line 127 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 127 of file G4Polycone.cc

References Create(), FatalException, G4cout, G4endl, G4Exception(), G4VSolid::GetName(), message(), and SetOriginalParameters().

+ Here is the call graph for this function:

G4Polycone::~G4Polycone ( )
virtual

Definition at line 344 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 344 of file G4Polycone.cc

References corners, enclosingCylinder, and original_parameters.

G4Polycone::G4Polycone ( __void__ &  a)

Definition at line 335 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 335 of file G4Polycone.cc

G4Polycone::G4Polycone ( const G4Polycone source)

Definition at line 353 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 353 of file G4Polycone.cc

References CopyStuff().

+ Here is the call graph for this function:

Member Function Documentation

void G4Polycone::BoundingLimits ( G4ThreeVector pMin,
G4ThreeVector pMax 
) const
virtual

Reimplemented from G4VSolid.

Definition at line 492 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 492 of file G4Polycone.cc

References G4GeomTools::DiskExtent(), G4VSolid::DumpInfo(), G4Exception(), GetCorner(), GetCosEndPhi(), GetCosStartPhi(), G4VSolid::GetName(), GetNumRZCorner(), GetSinEndPhi(), GetSinStartPhi(), IsOpen(), JustWarning, kInfinity, message(), pMax, G4PolyconeSideRZ::r, rmax(), CLHEP::Hep3Vector::set(), CLHEP::Hep2Vector::x(), CLHEP::Hep3Vector::x(), CLHEP::Hep2Vector::y(), CLHEP::Hep3Vector::y(), G4PolyconeSideRZ::z, and CLHEP::Hep3Vector::z().

Referenced by CalculateExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Polycone::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits pVoxelLimit,
const G4AffineTransform pTransform,
G4double pmin,
G4double pmax 
) const
virtual
G4VSolid * G4Polycone::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 685 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 685 of file G4Polycone.cc

References G4Polycone().

+ Here is the call graph for this function:

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

Reimplemented from G4VSolid.

Definition at line 669 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 669 of file G4Polycone.cc

References G4VPVParameterisation::ComputeDimensions().

+ Here is the call graph for this function:

void G4Polycone::CopyStuff ( const G4Polycone source)
protected

Definition at line 379 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 379 of file G4Polycone.cc

References corners, enclosingCylinder, endPhi, G4VCSGfaceted::fpPolyhedron, G4VCSGfaceted::fRebuildPolyhedron, numCorner, original_parameters, phiIsOpen, and startPhi.

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

+ Here is the caller graph for this function:

void G4Polycone::Create ( G4double  phiStart,
G4double  phiTotal,
G4ReduciblePolygon rz 
)
protected

Definition at line 167 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 167 of file G4Polycone.cc

References G4ReduciblePolygon::Amin(), G4ReduciblePolygon::Area(), G4ReduciblePolygonIterator::Begin(), G4ReduciblePolygon::BisectedBy(), corners, G4ReduciblePolygon::CrossesItself(), E, enclosingCylinder, endPhi, G4VCSGfaceted::faces, FatalErrorInArgument, G4endl, G4Exception(), G4ReduciblePolygonIterator::GetA(), G4ReduciblePolygonIterator::GetB(), G4VSolid::GetName(), G4VSolid::kCarTolerance, kInfinity, message(), G4ReduciblePolygonIterator::Next(), numCorner, G4VCSGfaceted::numFace, G4ReduciblePolygon::NumVertices(), phiIsOpen, G4PolyconeSideRZ::r, G4ReduciblePolygon::RemoveDuplicateVertices(), G4ReduciblePolygon::RemoveRedundantVertices(), G4ReduciblePolygon::ReverseOrder(), startPhi, twopi, and G4PolyconeSideRZ::z.

Referenced by G4Polycone(), and Reset().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polyhedron * G4Polycone::CreatePolyhedron ( ) const
virtual
G4double G4Polycone::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 468 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 468 of file G4Polycone.cc

References G4VCSGfaceted::DistanceToIn(), enclosingCylinder, kInfinity, and G4EnclosingCylinder::ShouldMiss().

+ Here is the call graph for this function:

G4double G4Polycone::DistanceToIn ( const G4ThreeVector p) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 485 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 485 of file G4Polycone.cc

References G4VCSGfaceted::DistanceToIn().

+ Here is the call graph for this function:

G4PolyconeSideRZ G4Polycone::GetCorner ( G4int  index) const
inline

Referenced by BoundingLimits(), CalculateExtent(), and G4tgbGeometryDumper::GetSolidParams().

+ Here is the caller graph for this function:

G4double G4Polycone::GetCosEndPhi ( ) const
inline

Referenced by BoundingLimits(), and CalculateExtent().

+ Here is the caller graph for this function:

G4double G4Polycone::GetCosStartPhi ( ) const
inline

Referenced by BoundingLimits(), and CalculateExtent().

+ Here is the caller graph for this function:

G4double G4Polycone::GetEndPhi ( ) const
inline

Referenced by G4tgbVolume::BuildSolidForDivision(), CalculateExtent(), export_G4Polycone(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4VParameterisationPolycone::G4VParameterisationPolycone(), and G4ParameterisationPolyconePhi::GetMaxParameter().

+ Here is the caller graph for this function:

G4GeometryType G4Polycone::GetEntityType ( ) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 678 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 678 of file G4Polycone.cc

G4int G4Polycone::GetNumRZCorner ( ) const
inline

Referenced by BoundingLimits(), CalculateExtent(), export_G4Polycone(), and G4tgbGeometryDumper::GetSolidParams().

+ Here is the caller graph for this function:

G4ThreeVector G4Polycone::GetPointOnCone ( G4double  fRmin1,
G4double  fRmax1,
G4double  fRmin2,
G4double  fRmax2,
G4double  zOne,
G4double  zTwo,
G4double totArea 
) const
protected

Definition at line 743 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 743 of file G4Polycone.cc

References endPhi, offset, phi, rmax(), G4INCL::DeJongSpin::shoot(), sqr(), startPhi, and twopi.

Referenced by GetPointOnCut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4Polycone::GetPointOnCut ( G4double  fRMin1,
G4double  fRMax1,
G4double  fRMin2,
G4double  fRMax2,
G4double  zOne,
G4double  zTwo,
G4double totArea 
) const
protected

Definition at line 934 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 934 of file G4Polycone.cc

References GetPointOnCone(), GetPointOnRing(), and GetPointOnTubs().

Referenced by GetPointOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4Polycone::GetPointOnRing ( G4double  fRMin,
G4double  fRMax,
G4double  fRMin2,
G4double  fRMax2,
G4double  zOne 
) const
protected

Definition at line 893 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 893 of file G4Polycone.cc

References endPhi, phi, G4INCL::DeJongSpin::shoot(), and startPhi.

Referenced by GetPointOnCut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4Polycone::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 951 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 951 of file G4Polycone.cc

References endPhi, GetPointOnCut(), G4PolyconeHistorical::Num_z_planes, original_parameters, phi, pi, G4PolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, G4INCL::DeJongSpin::shoot(), sqr(), startPhi, twopi, and G4PolyconeHistorical::Z_values.

+ Here is the call graph for this function:

G4ThreeVector G4Polycone::GetPointOnTubs ( G4double  fRMin,
G4double  fRMax,
G4double  zOne,
G4double  zTwo,
G4double totArea 
) const
protected

Definition at line 836 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 836 of file G4Polycone.cc

References endPhi, phi, G4INCL::DeJongSpin::shoot(), startPhi, and twopi.

Referenced by GetPointOnCut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Polycone::GetSinEndPhi ( ) const
inline

Referenced by BoundingLimits(), and CalculateExtent().

+ Here is the caller graph for this function:

G4double G4Polycone::GetSinStartPhi ( ) const
inline

Referenced by BoundingLimits(), and CalculateExtent().

+ Here is the caller graph for this function:

G4double G4Polycone::GetStartPhi ( ) const
inline
EInside G4Polycone::Inside ( const G4ThreeVector p) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 450 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 450 of file G4Polycone.cc

References enclosingCylinder, G4VCSGfaceted::Inside(), kOutside, and G4EnclosingCylinder::MustBeOutside().

+ Here is the call graph for this function:

G4bool G4Polycone::IsOpen ( ) const
inline

Referenced by BoundingLimits(), CalculateExtent(), and export_G4Polycone().

+ Here is the caller graph for this function:

G4Polycone & G4Polycone::operator= ( const G4Polycone source)

Definition at line 361 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 361 of file G4Polycone.cc

References CopyStuff(), corners, enclosingCylinder, G4VCSGfaceted::operator=(), and original_parameters.

+ Here is the call graph for this function:

G4bool G4Polycone::Reset ( )

Definition at line 421 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 421 of file G4Polycone.cc

References corners, Create(), G4VCSGfaceted::DeleteStuff(), enclosingCylinder, G4PolyconeHistorical::Num_z_planes, G4PolyconeHistorical::Opening_angle, original_parameters, G4PolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, G4PolyconeHistorical::Start_angle, and G4PolyconeHistorical::Z_values.

Referenced by G4ParameterisationPolyconeRho::ComputeDimensions(), G4GDMLParameterisation::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), and G4ParameterisationPolyconeZ::ComputeDimensions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Polycone::SetOriginalParameters ( G4PolyconeHistorical pars)
inline

Referenced by G4ParameterisationPolyconeRho::ComputeDimensions(), G4GDMLParameterisation::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), and G4Polycone().

+ Here is the caller graph for this function:

G4bool G4Polycone::SetOriginalParameters ( G4ReduciblePolygon rz)
protected
std::ostream & G4Polycone::StreamInfo ( std::ostream &  os) const
virtual

Reimplemented from G4VCSGfaceted.

Definition at line 693 of file G4Polycone.cc.

View newest version in sPHENIX GitHub at line 693 of file G4Polycone.cc

References corners, degree, endPhi, G4VSolid::GetName(), G4PolyconeHistorical::Num_z_planes, numCorner, original_parameters, G4PolyconeSideRZ::r, G4PolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, startPhi, G4PolyconeSideRZ::z, and G4PolyconeHistorical::Z_values.

+ Here is the call graph for this function:

Member Data Documentation

G4PolyconeSideRZ* G4Polycone::corners = nullptr
protected

Definition at line 190 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 190 of file G4Polycone.hh

Referenced by CopyStuff(), Create(), operator=(), Reset(), SetOriginalParameters(), StreamInfo(), and ~G4Polycone().

G4EnclosingCylinder* G4Polycone::enclosingCylinder = nullptr
protected

Definition at line 195 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 195 of file G4Polycone.hh

Referenced by CopyStuff(), Create(), DistanceToIn(), Inside(), operator=(), Reset(), and ~G4Polycone().

G4double G4Polycone::endPhi
protected

Definition at line 187 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 187 of file G4Polycone.hh

Referenced by CopyStuff(), Create(), GetPointOnCone(), GetPointOnRing(), GetPointOnSurface(), GetPointOnTubs(), SetOriginalParameters(), and StreamInfo().

G4int G4Polycone::numCorner
protected

Definition at line 189 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 189 of file G4Polycone.hh

Referenced by CopyStuff(), Create(), SetOriginalParameters(), and StreamInfo().

G4PolyconeHistorical* G4Polycone::original_parameters = nullptr
protected

Definition at line 191 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 191 of file G4Polycone.hh

Referenced by CopyStuff(), CreatePolyhedron(), G4Polycone(), GetPointOnSurface(), operator=(), Reset(), SetOriginalParameters(), StreamInfo(), and ~G4Polycone().

G4bool G4Polycone::phiIsOpen = false
protected

Definition at line 188 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 188 of file G4Polycone.hh

Referenced by CopyStuff(), and Create().

G4double G4Polycone::startPhi
protected

Definition at line 186 of file G4Polycone.hh.

View newest version in sPHENIX GitHub at line 186 of file G4Polycone.hh

Referenced by CopyStuff(), Create(), GetPointOnCone(), GetPointOnRing(), GetPointOnSurface(), GetPointOnTubs(), SetOriginalParameters(), and StreamInfo().


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