|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4GenericPolycone is a Polycone shape where the composing Z planes positions, in their order of definition, may not be monotically increasing, i.e. may also decrease. More...
#include <G4GenericPolycone.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 |
G4GenericPolycone is a Polycone shape where the composing Z planes positions, in their order of definition, may not be monotically increasing, i.e. may also decrease.
Definition at line 69 of file G4GenericPolycone.hh.
| G4GenericPolycone::G4GenericPolycone | ( | const G4String & | name, |
| G4double | phiStart, | ||
| G4double | phiTotal, | ||
| G4int | numRZ, | ||
| const G4double | r[], | ||
| const G4double | z[] ) |
Constructs a generic polycone shape, given its parameters.
| [in] | name | The solid name. |
| [in] | phiStart | The initial Phi starting angle. |
| [in] | phiTotal | The total Phi angle. |
| [in] | numRZ | Number of corners in r,Z space. |
| [in] | r | Vector of r coordinate of corners. |
| [in] | z | Vector of Z coordinate of corners. |
Definition at line 60 of file G4GenericPolycone.cc.
Referenced by Clone(), G4GenericPolycone(), GetCorner(), and operator=().
|
override |
Destructor.
Definition at line 263 of file G4GenericPolycone.cc.
| G4GenericPolycone::G4GenericPolycone | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 256 of file G4GenericPolycone.cc.
| G4GenericPolycone::G4GenericPolycone | ( | const G4GenericPolycone & | source | ) |
Copy constructor and assignment operator.
Definition at line 277 of file G4GenericPolycone.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 406 of file G4GenericPolycone.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 457 of file G4GenericPolycone.cc.
|
overridevirtual |
Makes a clone of the object for use in multi-treading.
Reimplemented from G4VSolid.
Definition at line 611 of file G4GenericPolycone.cc.
|
overridevirtual |
Returns a pointer to a polyhedron for use in visualisation.
Implements G4VCSGfaceted.
Definition at line 842 of file G4GenericPolycone.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 396 of file G4GenericPolycone.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 380 of file G4GenericPolycone.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 649 of file G4GenericPolycone.cc.
|
inline |
|
overridevirtual |
Returns the type ID, "G4GenericPolycone" of the solid.
Implements G4VSolid.
Definition at line 602 of file G4GenericPolycone.cc.
|
inline |
|
overridevirtual |
Returns a random point located and uniformly distributed on the surface of the solid.
Reimplemented from G4VSolid.
Definition at line 777 of file G4GenericPolycone.cc.
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
inline |
Referenced by BoundingLimits(), and CalculateExtent().
|
inline |
|
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 673 of file G4GenericPolycone.cc.
|
overridevirtual |
Concrete implementations of the expected query interfaces for solids, as defined in the base class G4VSolid.
Implements G4VSolid.
Definition at line 361 of file G4GenericPolycone.cc.
|
inline |
Referenced by BoundingLimits(), CalculateExtent(), and GetSurfaceArea().
| G4GenericPolycone & G4GenericPolycone::operator= | ( | const G4GenericPolycone & | source | ) |
Definition at line 286 of file G4GenericPolycone.cc.
| G4bool G4GenericPolycone::Reset | ( | ) |
Does nothing. Reset of parameters (for use in divisions) is not allowed for a generic polycone. Issues a warning and just returns true.
Definition at line 346 of file G4GenericPolycone.cc.
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 620 of file G4GenericPolycone.cc.