|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4VTwistedFaceted is a base class for twisted boxoids: G4TwistedTrd, G4TwistedTrap and G4TwistedBox. More...
#include <G4VTwistedFaceted.hh>
Protected Attributes | |
| G4bool | fRebuildPolyhedron = false |
| G4Polyhedron * | fpPolyhedron = nullptr |
| G4double | fCubicVolume = 0.0 |
| G4double | fSurfaceArea = 0.0 |
| Protected Attributes inherited from G4VSolid | |
| G4double | kCarTolerance |
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 |
G4VTwistedFaceted is a base class for twisted boxoids: G4TwistedTrd, G4TwistedTrap and G4TwistedBox.
Definition at line 53 of file G4VTwistedFaceted.hh.
| G4VTwistedFaceted::G4VTwistedFaceted | ( | const G4String & | pname, |
| G4double | PhiTwist, | ||
| G4double | pDz, | ||
| G4double | pTheta, | ||
| G4double | pPhi, | ||
| G4double | pDy1, | ||
| G4double | pDx1, | ||
| G4double | pDx2, | ||
| G4double | pDy2, | ||
| G4double | pDx3, | ||
| G4double | pDx4, | ||
| G4double | pAlph ) |
Constructs a faceted solid, given its parameters.
| [in] | pName | The solid name. |
| [in] | pPhiTwist | Twist angle. |
| [in] | pDz | Half-length along Z axis. |
| [in] | pTheta | Polar angle of the line joining the centres of the faces at -/+pDz. |
| [in] | pPhi | Azimuthal angle of the line joining the centres of the faces at -/+pDz. |
| [in] | pDy1 | Half Y length at -pDz. |
| [in] | pDx1 | Half X length at -pDz, y=-pDy1. |
| [in] | pDx2 | Half X length at -pDz, y=+pDy1. |
| [in] | pDy2 | Half Y length at +pDz. |
| [in] | pDx3 | Half X length at +pDz, y=-pDy2. |
| [in] | pDx4 | Half X length at +pDz, y=+pDy2. |
| [in] | pAlph | Angle with respect to the Y axis from centre of side. |
Definition at line 61 of file G4VTwistedFaceted.cc.
Referenced by G4TwistedBox::G4TwistedBox(), G4TwistedBox::G4TwistedBox(), G4TwistedBox::G4TwistedBox(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrd::G4TwistedTrd(), G4TwistedTrd::G4TwistedTrd(), G4TwistedTrd::G4TwistedTrd(), G4VTwistedFaceted(), and operator=().
|
override |
Destructor.
Definition at line 202 of file G4VTwistedFaceted.cc.
| G4VTwistedFaceted::G4VTwistedFaceted | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 191 of file G4VTwistedFaceted.cc.
| G4VTwistedFaceted::G4VTwistedFaceted | ( | const G4VTwistedFaceted & | rhs | ) |
Copy constructor and assignment operator.
Definition at line 218 of file G4VTwistedFaceted.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 279 of file G4VTwistedFaceted.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 318 of file G4VTwistedFaceted.cc.
|
overridevirtual |
Dispatch method for parameterisation replication mechanism and dimension computation.
Reimplemented from G4VSolid.
Definition at line 266 of file G4VTwistedFaceted.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 1123 of file G4VTwistedFaceted.cc.
Referenced by GetPolyhedron().
|
overridevirtual |
Methods for creating graphical representations (i.e. for visualisation).
Implements G4VSolid.
Definition at line 829 of file G4VTwistedFaceted.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 554 of file G4VTwistedFaceted.cc.
|
overridevirtual |
Concrete implementations of the expected query interfaces for solids, as defined in the base class G4VSolid.
Implements G4VSolid.
Definition at line 475 of file G4VTwistedFaceted.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 708 of file G4VTwistedFaceted.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 624 of file G4VTwistedFaceted.cc.
|
inline |
Definition at line 178 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetTiltAngleAlpha().
|
overridevirtual |
Returning an estimation of the solid volume (capacity) and surface area, in internal units.
Reimplemented from G4VSolid.
Definition at line 974 of file G4VTwistedFaceted.cc.
|
inline |
Definition at line 169 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetX1HalfLength(), G4TwistedTrd::GetX1HalfLength(), and G4TwistedBox::GetXHalfLength().
|
inline |
Definition at line 170 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetX2HalfLength().
|
inline |
Definition at line 171 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrd::GetX2HalfLength(), and G4TwistedTrap::GetX3HalfLength().
|
inline |
Definition at line 172 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetX4HalfLength().
|
inline |
Definition at line 173 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetY1HalfLength(), G4TwistedTrd::GetY1HalfLength(), and G4TwistedBox::GetYHalfLength().
|
inline |
Definition at line 174 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetY2HalfLength(), and G4TwistedTrd::GetY2HalfLength().
|
inline |
Definition at line 175 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedBox::GetZHalfLength(), G4TwistedTrap::GetZHalfLength(), and G4TwistedTrd::GetZHalfLength().
|
overridevirtual |
Returns the type ID, "G4VTwistedFaceted" of the solid.
Implements G4VSolid.
Definition at line 1016 of file G4VTwistedFaceted.cc.
|
overridevirtual |
Provides extent (bounding box) as possible hint to the graphics view.
Reimplemented from G4VSolid.
Definition at line 838 of file G4VTwistedFaceted.cc.
|
inline |
Definition at line 176 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetAzimuthalAnglePhi().
|
overridevirtual |
Returns a random point located and uniformly distributed on the surface of the solid.
Reimplemented from G4VSolid.
Definition at line 1046 of file G4VTwistedFaceted.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 1025 of file G4VTwistedFaceted.cc.
Referenced by G4TwistedBox::G4TwistedBox(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrd::G4TwistedTrd(), G4TwistedBox::operator=(), G4TwistedTrap::operator=(), and G4TwistedTrd::operator=().
|
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 989 of file G4VTwistedFaceted.cc.
|
inline |
Definition at line 177 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedTrap::GetPolarAngleTheta().
|
inline |
Accessors.
Definition at line 168 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedBox::GetPhiTwist(), G4TwistedTrap::GetPhiTwist(), and G4TwistedTrd::GetPhiTwist().
Definition at line 264 of file G4VTwistedFaceted.hh.
Referenced by Xcoef().
Definition at line 276 of file G4VTwistedFaceted.hh.
Definition at line 270 of file G4VTwistedFaceted.hh.
Referenced by Xcoef().
|
overridevirtual |
Returns the characterisation of a point at offset 'p' respect to the shape.
| [in] | p | The point at offset p. |
Implements G4VSolid.
Definition at line 338 of file G4VTwistedFaceted.cc.
Referenced by DistanceToIn(), DistanceToIn(), DistanceToOut(), and DistanceToOut().
| G4VTwistedFaceted & G4VTwistedFaceted::operator= | ( | const G4VTwistedFaceted & | rhs | ) |
Definition at line 235 of file G4VTwistedFaceted.cc.
Referenced by G4TwistedBox::operator=(), G4TwistedTrap::operator=(), and G4TwistedTrd::operator=().
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 792 of file G4VTwistedFaceted.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 432 of file G4VTwistedFaceted.cc.
Referenced by DistanceToIn(), and DistanceToOut().
Definition at line 282 of file G4VTwistedFaceted.hh.
Referenced by Inside().
|
protected |
Definition at line 207 of file G4VTwistedFaceted.hh.
Referenced by G4VTwistedFaceted(), G4TwistedBox::GetCubicVolume(), G4TwistedTrd::GetCubicVolume(), GetCubicVolume(), and operator=().
|
mutableprotected |
Definition at line 205 of file G4VTwistedFaceted.hh.
Referenced by G4TwistedBox::G4TwistedBox(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrd::G4TwistedTrd(), GetPolyhedron(), G4TwistedBox::operator=(), G4TwistedTrap::operator=(), G4TwistedTrd::operator=(), operator=(), and ~G4VTwistedFaceted().
|
mutableprotected |
Definition at line 204 of file G4VTwistedFaceted.hh.
Referenced by GetPolyhedron(), and operator=().
|
protected |
Definition at line 208 of file G4VTwistedFaceted.hh.
Referenced by G4VTwistedFaceted(), G4TwistedBox::GetSurfaceArea(), G4TwistedTrd::GetSurfaceArea(), GetSurfaceArea(), and operator=().