|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4Polycone represents a composed closed shape (PCON) made of cones and cylinders, along the Z axis with increasing Z, with or without cut in Phi. More...
#include <G4Polycone.hh>
Additional Inherited Members | |
| 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 inherited from G4VCSGfaceted | |
| G4int | numFace = 0 |
| G4VCSGface ** | faces = nullptr |
| G4double | fCubicVolume = 0.0 |
| G4double | fSurfaceArea = 0.0 |
| G4bool | fRebuildPolyhedron = false |
| G4Polyhedron * | fpPolyhedron = nullptr |
| Protected Attributes inherited from G4VSolid | |
| G4double | kCarTolerance |
G4Polycone represents a composed closed shape (PCON) made of cones and cylinders, along the Z axis with increasing Z, with or without cut in Phi.
Definition at line 81 of file G4Polycone.hh.
| G4Polycone::G4Polycone | ( | const G4String & | name, |
| G4double | phiStart, | ||
| G4double | phiTotal, | ||
| G4int | numZPlanes, | ||
| const G4double | zPlane[], | ||
| const G4double | rInner[], | ||
| const G4double | rOuter[] ) |
Constructs a polycone shape, given its parameters.
| [in] | name | The solid name. |
| [in] | phiStart | Initial Phi starting angle. |
| [in] | phiTotal | Total Phi angle. |
| [in] | numZPlanes | Number of Z planes. |
| [in] | zPlane | Position of Z planes, with Z in increasing order. |
| [in] | rInner | Tangent distance to inner surface. |
| [in] | rOuter | Tangent distance to outer surface. |
Definition at line 59 of file G4Polycone.cc.
Referenced by Clone(), G4Polycone(), operator=(), and SetOriginalParameters().
| G4Polycone::G4Polycone | ( | const G4String & | name, |
| G4double | phiStart, | ||
| G4double | phiTotal, | ||
| G4int | numRZ, | ||
| const G4double | r[], | ||
| const G4double | z[] ) |
Alternative constructor of a polycone shape, given corners coordinates.
| [in] | name | The solid name. |
| [in] | phiStart | Initial Phi starting angle. |
| [in] | phiTotal | Total Phi angle. |
| [in] | numRZ | Number of corners in r,Z space. |
| [in] | r | r coordinates of corners. |
| [in] | z | Z coordinates of corners. |
Definition at line 132 of file G4Polycone.cc.
|
override |
Destructor.
Definition at line 344 of file G4Polycone.cc.
| G4Polycone::G4Polycone | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 335 of file G4Polycone.cc.
| G4Polycone::G4Polycone | ( | const G4Polycone & | source | ) |
Copy constructor and assignment operator.
Definition at line 360 of file G4Polycone.cc.
|
overridevirtual |
Computes the bounding limits of the solid.
| [out] | pMin | The minimum bounding limit point. |
| [out] | pMax | The maximum bounding limit point. |
Reimplemented from G4VSolid.
Definition at line 511 of file G4Polycone.cc.
Referenced by CalculateExtent().
|
overridevirtual |
Calculates the minimum and maximum extent of the solid, when under the specified transform, and within the specified limits.
| [in] | pAxis | The axis along which compute the extent. |
| [in] | pVoxelLimit | The limiting space dictated by voxels. |
| [in] | pTransform | The internal transformation applied to the solid. |
| [out] | pMin | The minimum extent value. |
| [out] | pMax | The maximum extent value. |
Implements G4VSolid.
Definition at line 559 of file G4Polycone.cc.
|
overridevirtual |
Makes a clone of the object for use in multi-treading.
Reimplemented from G4VSolid.
Definition at line 722 of file G4Polycone.cc.
|
overridevirtual |
Dispatch method for parameterisation replication mechanism and dimension computation.
Reimplemented from G4VSolid.
Definition at line 706 of file G4Polycone.cc.
|
overridevirtual |
Returns a pointer to a generated polyhedron used for visualisation.
Implements G4VCSGfaceted.
Definition at line 973 of file G4Polycone.cc.
|
overridevirtual |
Calculates the distance to the nearest surface of a shape from an outside point. The distance can be an underestimate.
| [in] | p | The point at offset p. |
Implements G4VSolid.
Definition at line 504 of file G4Polycone.cc.
|
overridevirtual |
Returns the distance along the normalised vector 'v' to the shape, from the point at offset 'p'. If there is no intersection, returns kInfinity. The first intersection resulting from 'leaving' a surface/volume is discarded. Hence, it is tolerant of points on the surface of the shape.
| [in] | p | The point at offset p. |
| [in] | v | The normalised direction vector. |
Implements G4VSolid.
Definition at line 488 of file G4Polycone.cc.
|
inline |
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
overridevirtual |
Returning an estimation of the solid volume (capacity) and surface area, in internal units.
Reimplemented from G4VSolid.
Definition at line 780 of file G4Polycone.cc.
|
inline |
|
overridevirtual |
Returns the type ID, "G4Polycone" of the solid.
Implements G4VSolid.
Definition at line 715 of file G4Polycone.cc.
|
inline |
|
inline |
Gets and sets the original parameters of the solid.
Referenced by G4tgbVolume::BuildSolidForDivision(), G4GDMLWriteParamvol::Polycone_dimensionsWrite(), and G4GDMLWriteSolids::PolyconeWrite().
|
overridevirtual |
Returns a random point located and uniformly distributed on the surface of the solid.
Reimplemented from G4VSolid.
Definition at line 908 of file G4Polycone.cc.
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
inline |
Accessors.
Referenced by G4tgbVolume::BuildSolidForDivision(), CalculateExtent(), GetCubicVolume(), GetPointOnSurface(), G4tgbGeometryDumper::GetSolidParams(), and GetSurfaceArea().
|
overridevirtual |
Returns an estimation of the solid surface area in internal units. This method may be overloaded by derived classes to compute the exact geometrical quantity for solids where this is possible, or anyway to cache the computed value. Note: the computed value is NOT cached.
Reimplemented from G4VSolid.
Definition at line 804 of file G4Polycone.cc.
|
overridevirtual |
Concrete implementations of the expected query interfaces for solids, as defined in G4VSolid. Remaining functions are concretely defined in the base class G4VCSGfaceted.
Implements G4VSolid.
Definition at line 470 of file G4Polycone.cc.
|
inline |
Referenced by BoundingLimits(), CalculateExtent(), and GetSurfaceArea().
| G4Polycone & G4Polycone::operator= | ( | const G4Polycone & | source | ) |
Definition at line 368 of file G4Polycone.cc.
| G4bool G4Polycone::Reset | ( | ) |
Clears all parameters and rebuild the shape, for use in divisions.
Definition at line 438 of file G4Polycone.cc.
Referenced by G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), and G4ParameterisationPolyconeZ::ComputeDimensions().
|
inline |
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 730 of file G4Polycone.cc.