|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4ScaledSolid is a solid that has been scaled in dimensions in X, Y or Z, from its original description. More...
#include <G4ScaledSolid.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 |
G4ScaledSolid is a solid that has been scaled in dimensions in X, Y or Z, from its original description.
Definition at line 50 of file G4ScaledSolid.hh.
| G4ScaledSolid::G4ScaledSolid | ( | const G4String & | pName, |
| G4VSolid * | pSolid, | ||
| const G4Scale3D & | pScale ) |
Constructor of a solid with scaled transformation.
| [in] | pName | The name of the solid. |
| [in] | pSolid | Pointer to the original reference solid. |
| [in] | pScale | The scaling transformation. |
Definition at line 51 of file G4ScaledSolid.cc.
Referenced by Clone(), G4ScaledSolid(), and operator=().
|
override |
The destructor, clearing the cached transformation.
Definition at line 73 of file G4ScaledSolid.cc.
| G4ScaledSolid::G4ScaledSolid | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 64 of file G4ScaledSolid.cc.
| G4ScaledSolid::G4ScaledSolid | ( | const G4ScaledSolid & | rhs | ) |
Copy constructor and assignment operator.
Definition at line 83 of file G4ScaledSolid.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 130 of file G4ScaledSolid.cc.
|
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 160 of file G4ScaledSolid.cc.
|
overridevirtual |
Makes a clone of the object for use in multi-treading.
Reimplemented from G4VSolid.
Definition at line 355 of file G4ScaledSolid.cc.
|
overridevirtual |
Throws an exception as paramterisations are not allowed for these solids.
Reimplemented from G4VSolid.
Definition at line 305 of file G4ScaledSolid.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 454 of file G4ScaledSolid.cc.
Referenced by GetPolyhedron().
|
overridevirtual |
Methods for creating graphical representations (i.e. for visualisation).
Implements G4VSolid.
Definition at line 444 of file G4ScaledSolid.cc.
|
overridevirtual |
Calculates the safety distance to the nearest surface of a shape from an outside point. The distance can be an underestimate.
Implements G4VSolid.
Definition at line 238 of file G4ScaledSolid.cc.
|
overridevirtual |
Returns the distance along the normalised vector "v" to the shape, from the point at offset "p". If there is no intersection, return kInfinity. The first intersection resulting from leaving a surface/volume is discarded. Hence, it is tolerant of points on the surface of the shape.
Implements G4VSolid.
Definition at line 214 of file G4ScaledSolid.cc.
|
overridevirtual |
Calculates the safety distance to the nearest surface of a shape from an inside point "p". The distance can be an underestimate.
Implements G4VSolid.
Definition at line 289 of file G4ScaledSolid.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 < Tolerance/2 from a surface must be ignored. Must be called as solid.DistanceToOut(p,v) or by specifying all the parameters.
| [in] | p | The reference point in space. |
| [in] | v | The normalised direction. |
| [in] | calcNorm | Flag to enable the normal computation or not. |
| [out] | validNorm | Set to true if the solid lies 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 254 of file G4ScaledSolid.cc.
|
overridevirtual |
Methods returning an estimation of the solid volume (capacity) and surface area, in internal units.
Reimplemented from G4VSolid.
Definition at line 386 of file G4ScaledSolid.cc.
|
overridevirtual |
Returns the type ID, "G4ScaledSolid" of the solid.
Implements G4VSolid.
Definition at line 346 of file G4ScaledSolid.cc.
Referenced by StreamInfo().
|
overridevirtual |
Returns the number of constituents of the solid. For non-Boolean solids the return value is one.
Reimplemented from G4VSolid.
Definition at line 328 of file G4ScaledSolid.cc.
|
overridevirtual |
Returns a random point located on the surface of the solid. Points returned may not necessarily be uniformly distributed.
Reimplemented from G4VSolid.
Definition at line 320 of file G4ScaledSolid.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 475 of file G4ScaledSolid.cc.
| G4Scale3D G4ScaledSolid::GetScaleTransform | ( | ) | const |
Accessor and setter for the scaling transformation.
Definition at line 364 of file G4ScaledSolid.cc.
Referenced by CalculateExtent(), CreatePolyhedron(), G4tgbGeometryDumper::DumpScaledVolume(), and G4GDMLWriteSolids::ScaledWrite().
|
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 404 of file G4ScaledSolid.cc.
| G4VSolid * G4ScaledSolid::GetUnscaledSolid | ( | ) | const |
Returns a pointer to the original not scaled solid.
Definition at line 121 of file G4ScaledSolid.cc.
Referenced by G4tgbGeometryDumper::DumpScaledVolume(), and G4GDMLWriteSolids::ScaledWrite().
|
overridevirtual |
Returns if the given point "p" is inside or not the solid.
Implements G4VSolid.
Definition at line 184 of file G4ScaledSolid.cc.
|
overridevirtual |
Returns true if the solid has only planar faces, false otherwise.
Reimplemented from G4VSolid.
Definition at line 337 of file G4ScaledSolid.cc.
| G4ScaledSolid & G4ScaledSolid::operator= | ( | const G4ScaledSolid & | rhs | ) |
Definition at line 94 of file G4ScaledSolid.cc.
| void G4ScaledSolid::SetScaleTransform | ( | const G4Scale3D & | scale | ) |
Definition at line 375 of file G4ScaledSolid.cc.
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 419 of file G4ScaledSolid.cc.
|
overridevirtual |
Returns the outwards pointing unit normal of the shape for the surface closest to the point at offset "p".
Implements G4VSolid.
Definition at line 194 of file G4ScaledSolid.cc.