|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4PolyconeSide is a utility class implementing a face that represents one conical side of a polycone. More...
#include <G4PolyconeSide.hh>
Public Member Functions | |
| G4PolyconeSide (const G4PolyconeSideRZ *prevRZ, const G4PolyconeSideRZ *tail, const G4PolyconeSideRZ *head, const G4PolyconeSideRZ *nextRZ, G4double phiStart, G4double deltaPhi, G4bool phiIsOpen, G4bool isAllBehind=false) | |
| ~G4PolyconeSide () override | |
| G4PolyconeSide (const G4PolyconeSide &source) | |
| G4PolyconeSide & | operator= (const G4PolyconeSide &source) |
| G4bool | Intersect (const G4ThreeVector &p, const G4ThreeVector &v, G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &isAllBehind) override |
| G4double | Distance (const G4ThreeVector &p, G4bool outgoing) override |
| EInside | Inside (const G4ThreeVector &p, G4double tolerance, G4double *bestDistance) override |
| G4ThreeVector | Normal (const G4ThreeVector &p, G4double *bestDistance) override |
| G4double | Extent (const G4ThreeVector axis) override |
| void | CalculateExtent (const EAxis axis, const G4VoxelLimits &voxelLimit, const G4AffineTransform &tranform, G4SolidExtentList &extentList) override |
| G4VCSGface * | Clone () override |
| G4double | SurfaceArea () override |
| G4ThreeVector | GetPointOnFace () override |
| G4PolyconeSide (__void__ &) | |
| G4int | GetInstanceID () const |
| Public Member Functions inherited from G4VCSGface | |
| G4VCSGface ()=default | |
| virtual | ~G4VCSGface ()=default |
Static Public Member Functions | |
| static const G4PlSideManager & | GetSubInstanceManager () |
G4PolyconeSide is a utility class implementing a face that represents one conical side of a polycone.
Definition at line 90 of file G4PolyconeSide.hh.
| G4PolyconeSide::G4PolyconeSide | ( | const G4PolyconeSideRZ * | prevRZ, |
| const G4PolyconeSideRZ * | tail, | ||
| const G4PolyconeSideRZ * | head, | ||
| const G4PolyconeSideRZ * | nextRZ, | ||
| G4double | phiStart, | ||
| G4double | deltaPhi, | ||
| G4bool | phiIsOpen, | ||
| G4bool | isAllBehind = false ) |
Constructor for the conical side of a polycone.
| [in] | prevRZ | Pointer to previous r,Z section. |
| [in] | tail | Pointer to r,Z tail of section. |
| [in] | head | Pointer to r,Z head of section. |
| [in] | nextRZ | Pointer to next r,Z section. |
| [in] | phiStart | Initial Phi starting angle. |
| [in] | deltaPhi | Total Phi angle. |
| [in] | phiIsOpen | Flag indicating if it is a Phi section. |
| [in] | isAllBehind | Indicating if entire surface is behind normal. |
Definition at line 67 of file G4PolyconeSide.cc.
Referenced by Clone(), G4PolyconeSide(), and operator=().
|
override |
Destructor.
Definition at line 187 of file G4PolyconeSide.cc.
| G4PolyconeSide::G4PolyconeSide | ( | const G4PolyconeSide & | source | ) |
Copy constructor and assignment operator.
Definition at line 195 of file G4PolyconeSide.cc.
| G4PolyconeSide::G4PolyconeSide | ( | __void__ & | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 173 of file G4PolyconeSide.cc.
|
overridevirtual |
Calculates the extent of the face for the voxel navigator.
| [in] | axis | The axis in which to check the shapes 3D extent against. |
| [in] | voxelLimit | Limits along x, y, and/or z axes. |
| [in] | tranform | A coordinate transformation on which to apply to the shape before testing. |
| [out] | extentList | The list of (voxel) extents along the axis. |
Implements G4VCSGface.
Definition at line 549 of file G4PolyconeSide.cc.
|
inlineoverridevirtual |
Method invoked by the copy constructor or the assignment operator. Its purpose is to return a pointer to a duplicate copy of the face.
Implements G4VCSGface.
Definition at line 200 of file G4PolyconeSide.hh.
|
overridevirtual |
Determines the distance of a point from either the inside or outside surfaces of the face.
| [in] | p | Position. |
| [in] | outgoing | Flag, true, to consider only inside surfaces or false, to consider only outside surfaces. |
Implements G4VCSGface.
Definition at line 399 of file G4PolyconeSide.cc.
|
overridevirtual |
Returns the face extent along the axis.
| [in] | axis | Unit vector defining the direction. |
Implements G4VCSGface.
Definition at line 485 of file G4PolyconeSide.cc.
|
inline |
Returns the instance ID.
Definition at line 222 of file G4PolyconeSide.hh.
|
overridevirtual |
Returns a random point located and uniformly distributed on the face.
Implements G4VCSGface.
Definition at line 1205 of file G4PolyconeSide.cc.
|
static |
Returns the private data instance manager.
Definition at line 57 of file G4PolyconeSide.cc.
Referenced by G4SolidsWorkspace::G4SolidsWorkspace().
|
overridevirtual |
Determines whether a point is inside, outside, or on the surface of the face.
| [in] | p | Position. |
| [in] | tolerance | Tolerance defining the bounds of the "kSurface", nominally equal to kCarTolerance/2. |
| [out] | bestDistance | Distance to the closest surface (in or out). |
Implements G4VCSGface.
Definition at line 438 of file G4PolyconeSide.cc.
|
overridevirtual |
Determines the distance along a line to the face.
| [in] | p | Position. |
| [in] | v | Direction (assumed to be a unit vector). |
| [in] | outgoing | Flag true, to consider only inside surfaces; false, to consider only outside surfaces. |
| [in] | surfTolerance | Minimum distance from the surface. |
| [out] | distance | Distance to intersection. |
| [out] | distFromSurface | Distance from surface (along surface normal), < 0 if the point is in front of the surface. |
| [out] | normal | Normal of surface at intersection point. |
| [out] | allBehind | Flag, true, if entire surface is behind normal. |
Implements G4VCSGface.
Definition at line 264 of file G4PolyconeSide.cc.
|
overridevirtual |
Returns the normal of surface closest to the point.
| [in] | p | Position. |
| [out] | bestDistance | Distance to the closest surface (in or out). |
Implements G4VCSGface.
Definition at line 467 of file G4PolyconeSide.cc.
| G4PolyconeSide & G4PolyconeSide::operator= | ( | const G4PolyconeSide & | source | ) |
Definition at line 204 of file G4PolyconeSide.cc.
|
overridevirtual |
Returning an estimation of the face surface area, in internal units.
Implements G4VCSGface.
Definition at line 1193 of file G4PolyconeSide.cc.