|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4Hype is a tube with hyperbolic profile; it describes an hyperbolic volume with curved sides parallel to the Z axis. The solid has a specified half-length along the Z axis, about which it is centered, and a given minimum and maximum radii. More...
#include <G4Hype.hh>
Additional Inherited Members | |
| 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 G4VSolid | |
| G4double | kCarTolerance |
G4Hype is a tube with hyperbolic profile; it describes an hyperbolic volume with curved sides parallel to the Z axis. The solid has a specified half-length along the Z axis, about which it is centered, and a given minimum and maximum radii.
| G4Hype::G4Hype | ( | const G4String & | pName, |
| G4double | newInnerRadius, | ||
| G4double | newOuterRadius, | ||
| G4double | newInnerStereo, | ||
| G4double | newOuterStereo, | ||
| G4double | newHalfLenZ ) |
Constructs a hyperbolic tube, given its parameters.
| [in] | pName | The solid name. |
| [in] | newInnerRadius | Inner radius. |
| [in] | newOuterRadius | Outer radius. |
| [in] | newInnerStereo | Inner stereo angle in radians. |
| [in] | newOuterStereo | Outer stereo angle in radians. |
| [in] | newHalfLenZ | Half length in Z. |
Definition at line 61 of file G4Hype.cc.
Referenced by Clone(), G4Hype(), GetOuterStereo(), and operator=().
|
override |
| G4Hype::G4Hype | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 120 of file G4Hype.cc.
| G4Hype::G4Hype | ( | const G4Hype & | rhs | ) |
Copy constructor and assignment operator.
Definition at line 137 of file G4Hype.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 275 of file G4Hype.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 296 of file G4Hype.cc.
|
overridevirtual |
Makes a clone of the object for use in multi-treading.
Reimplemented from G4VSolid.
Definition at line 1176 of file G4Hype.cc.
|
overridevirtual |
Dispatch method for parameterisation replication mechanism and dimension computation.
Reimplemented from G4VSolid.
Definition at line 266 of file G4Hype.cc.
|
overridevirtual |
Creates a Polyhedron used for Visualisation. It is the caller's responsibility to delete it. A null pointer means "not created".
Reimplemented from G4VSolid.
Definition at line 1290 of file G4Hype.cc.
Referenced by GetPolyhedron().
|
overridevirtual |
|
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 704 of file G4Hype.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 401 of file G4Hype.cc.
|
overridevirtual |
Calculates the distance to the nearest surface of a shape from an inside point 'p'. The distance can be an underestimate.
| [in] | p | The point at offset p. |
Implements G4VSolid.
Definition at line 958 of file G4Hype.cc.
|
overridevirtual |
Returns the distance along the normalised vector 'v' to the shape, from a point at an offset 'p' inside or on the surface of the shape. Intersections with surfaces, when the point is less than Tolerance/2 from a surface must be ignored.
| [in] | p | The point at offset p. |
| [in] | v | The normalised direction vector. |
| [in] | calcNorm | Flag to indicate if to calculate the normal or not. |
| [out] | validNorm | Flag set to true if the solid lies entirely behind or on the exiting surface. It is set false if the solid does not lie entirely behind or on the exiting surface. 'calcNorm' must be true, otherwise it is unused. |
| [out] | n | The exiting outwards normal vector (undefined Magnitude). 'calcNorm' must be true, otherwise it is unused. |
Implements G4VSolid.
Definition at line 785 of file G4Hype.cc.
|
overridevirtual |
Returning an estimation of the solid volume (capacity) and surface area, in internal units.
Reimplemented from G4VSolid.
Definition at line 1245 of file G4Hype.cc.
|
overridevirtual |
|
overridevirtual |
Provides extent (bounding box) as possible hint to the graphics view.
Reimplemented from G4VSolid.
Definition at line 1279 of file G4Hype.cc.
|
inline |
Accessors.
Referenced by G4tgbGeometryDumper::GetSolidParams(), G4GDMLWriteParamvol::Hype_dimensionsWrite(), and G4GDMLWriteSolids::HypeWrite().
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Returns a random point located and uniformly distributed on the surface of the solid.
Reimplemented from G4VSolid.
Definition at line 1204 of file G4Hype.cc.
|
overridevirtual |
Smart access function - creates on request and stores for future access. A null pointer means "not available".
Reimplemented from G4VSolid.
Definition at line 1298 of file G4Hype.cc.
|
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 1259 of file G4Hype.cc.
|
inline |
|
overridevirtual |
Concrete implementations of the expected query interfaces for solids, as defined in the base class G4VSolid.
Implements G4VSolid.
Definition at line 313 of file G4Hype.cc.
Definition at line 154 of file G4Hype.cc.
| void G4Hype::SetInnerRadius | ( | G4double | newIRad | ) |
Modifiers.
Definition at line 185 of file G4Hype.cc.
| void G4Hype::SetInnerStereo | ( | G4double | newISte | ) |
Definition at line 233 of file G4Hype.cc.
Referenced by G4Hype().
| void G4Hype::SetOuterRadius | ( | G4double | newORad | ) |
Definition at line 200 of file G4Hype.cc.
| void G4Hype::SetOuterStereo | ( | G4double | newOSte | ) |
Definition at line 249 of file G4Hype.cc.
Referenced by G4Hype().
| void G4Hype::SetZHalfLength | ( | G4double | newHLZ | ) |
Definition at line 215 of file G4Hype.cc.
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 1183 of file G4Hype.cc.
|
overridevirtual |
Returns the outwards pointing unit normal of the shape for the surface closest to the point at offset 'p'.
| [in] | p | The point at offset p. |
Implements G4VSolid.
Definition at line 354 of file G4Hype.cc.