|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4TwistedTubs is a sector of a twisted hollow cylinder. A twisted cylinder which is placed along with Z axis and is separated into phi-segments should become a hyperboloid, and its each segmented piece should be tilted with a stereo angle. More...
#include <G4TwistedTubs.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 |
G4TwistedTubs is a sector of a twisted hollow cylinder. A twisted cylinder which is placed along with Z axis and is separated into phi-segments should become a hyperboloid, and its each segmented piece should be tilted with a stereo angle.
Definition at line 62 of file G4TwistedTubs.hh.
| G4TwistedTubs::G4TwistedTubs | ( | const G4String & | pname, |
| G4double | twistedangle, | ||
| G4double | endinnerrad, | ||
| G4double | endouterrad, | ||
| G4double | halfzlen, | ||
| G4double | dphi ) |
Constructs a twisted tube, given radii and twist angle.
| [in] | pName | The solid name. |
| [in] | twistedangle | The twisted angle. |
| [in] | endinnerrad | Inner radius at endcap. |
| [in] | endouterrad | Outer radius at endcap. |
| [in] | halfzlen | Half Z length. |
| [in] | dphi | Phi angle of a segment. |
Definition at line 62 of file G4TwistedTubs.cc.
Referenced by Clone(), G4TwistedTubs(), and operator=().
| G4TwistedTubs::G4TwistedTubs | ( | const G4String & | pname, |
| G4double | twistedangle, | ||
| G4double | endinnerrad, | ||
| G4double | endouterrad, | ||
| G4double | halfzlen, | ||
| G4int | nseg, | ||
| G4double | totphi ) |
Constructs a twisted tube, given radii, twist angle and number of segments.
| [in] | pName | The solid name. |
| [in] | twistedangle | The twisted angle. |
| [in] | endinnerrad | Inner radius at endcap. |
| [in] | endouterrad | Outer radius at endcap. |
| [in] | halfzlen | Half Z length. |
| [in] | nseg | Number of segments in Phi. |
| [in] | totphi | Total angle of all segments. |
Definition at line 93 of file G4TwistedTubs.cc.
| G4TwistedTubs::G4TwistedTubs | ( | const G4String & | pname, |
| G4double | twistedangle, | ||
| G4double | innerrad, | ||
| G4double | outerrad, | ||
| G4double | negativeEndz, | ||
| G4double | positiveEndz, | ||
| G4double | dphi ) |
Constructs a twisted tube, given radii, twist angle and EndZ values.
| [in] | pName | The solid name. |
| [in] | twistedangle | The twisted angle. |
| [in] | innerrad | Inner radius at z=0. |
| [in] | outerrad | Outer radius at z=0. |
| [in] | negativeEndz | -ve Z endplate. |
| [in] | positiveEndz | +ve Z endplate. |
| [in] | dphi | Phi angle of a segment. |
Definition at line 135 of file G4TwistedTubs.cc.
| G4TwistedTubs::G4TwistedTubs | ( | const G4String & | pname, |
| G4double | twistedangle, | ||
| G4double | innerrad, | ||
| G4double | outerrad, | ||
| G4double | negativeEndz, | ||
| G4double | positiveEndz, | ||
| G4int | nseg, | ||
| G4double | totphi ) |
Constructs a twisted tube, given radii, twist angle, EndZ values and number of segments.
| [in] | pName | The solid name. |
| [in] | twistedangle | The twisted angle. |
| [in] | innerrad | Inner radius at z=0. |
| [in] | outerrad | Outer radius at z=0. |
| [in] | negativeEndz | -ve Z endplate. |
| [in] | positiveEndz | +ve Z endplate. |
| [in] | nseg | Number of segments in Phi. |
| [in] | totphi | Total angle of all segments. |
Definition at line 156 of file G4TwistedTubs.cc.
|
override |
Destructor.
Definition at line 201 of file G4TwistedTubs.cc.
| G4TwistedTubs::G4TwistedTubs | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 190 of file G4TwistedTubs.cc.
| G4TwistedTubs::G4TwistedTubs | ( | const G4TwistedTubs & | rhs | ) |
Copy constructor and assignment operator.
Definition at line 215 of file G4TwistedTubs.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 298 of file G4TwistedTubs.cc.
Referenced by CalculateExtent(), and GetExtent().
|
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 346 of file G4TwistedTubs.cc.
|
overridevirtual |
Makes a clone of the object for use in multi-treading.
Reimplemented from G4VSolid.
Definition at line 899 of file G4TwistedTubs.cc.
|
overridevirtual |
Thows a fatal exception. Parameterisations are not allowed on this shape.
Reimplemented from G4VSolid.
Definition at line 286 of file G4TwistedTubs.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 774 of file G4TwistedTubs.cc.
Referenced by GetPolyhedron().
|
overridevirtual |
Methods for creating graphical representations (i.e. for visualisation).
Implements G4VSolid.
Definition at line 752 of file G4TwistedTubs.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 512 of file G4TwistedTubs.cc.
|
overridevirtual |
Concrete implementations of the expected query interfaces for solids, as defined in the base class G4VSolid.
Implements G4VSolid.
Definition at line 445 of file G4TwistedTubs.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 658 of file G4TwistedTubs.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 572 of file G4TwistedTubs.cc.
|
overridevirtual |
Returning an estimation of the solid volume (capacity) and surface area, in internal units. Caches the computed value once computed the first time.
Reimplemented from G4VSolid.
Definition at line 955 of file G4TwistedTubs.cc.
|
inline |
Accessors.
Definition at line 206 of file G4TwistedTubs.hh.
Referenced by BoundingLimits(), GetCubicVolume(), G4tgbGeometryDumper::GetSolidParams(), GetSurfaceArea(), and G4GDMLWriteSolids::TwistedtubsWrite().
|
inline |
Definition at line 226 of file G4TwistedTubs.hh.
Referenced by GetCubicVolume(), GetPointOnSurface(), and GetSurfaceArea().
Definition at line 222 of file G4TwistedTubs.hh.
|
inline |
Definition at line 229 of file G4TwistedTubs.hh.
Referenced by BoundingLimits(), GetCubicVolume(), GetPointOnSurface(), and GetSurfaceArea().
Definition at line 224 of file G4TwistedTubs.hh.
Definition at line 221 of file G4TwistedTubs.hh.
Referenced by BoundingLimits().
Definition at line 220 of file G4TwistedTubs.hh.
Referenced by BoundingLimits(), GetCubicVolume(), GetSurfaceArea(), and G4GDMLWriteSolids::TwistedtubsWrite().
|
overridevirtual |
Returns the type ID, "G4TwistedTubs" of the solid.
Implements G4VSolid.
Definition at line 891 of file G4TwistedTubs.cc.
|
overridevirtual |
Provides extent (bounding box) as possible hint to the graphics view.
Reimplemented from G4VSolid.
Definition at line 760 of file G4TwistedTubs.cc.
|
inline |
Definition at line 208 of file G4TwistedTubs.hh.
Referenced by BoundingLimits(), GetCubicVolume(), G4tgbGeometryDumper::GetSolidParams(), GetSurfaceArea(), and G4GDMLWriteSolids::TwistedtubsWrite().
|
inline |
Definition at line 210 of file G4TwistedTubs.hh.
|
inline |
Definition at line 213 of file G4TwistedTubs.hh.
|
inline |
Definition at line 209 of file G4TwistedTubs.hh.
Referenced by GetCubicVolume(), G4tgbGeometryDumper::GetSolidParams(), GetSurfaceArea(), and G4GDMLWriteSolids::TwistedtubsWrite().
|
inline |
Definition at line 211 of file G4TwistedTubs.hh.
|
inline |
Definition at line 207 of file G4TwistedTubs.hh.
Referenced by G4tgbGeometryDumper::GetSolidParams(), and G4GDMLWriteSolids::TwistedtubsWrite().
|
overridevirtual |
Returns a random point located and uniformly distributed on the surface of the solid.
Reimplemented from G4VSolid.
Definition at line 1027 of file G4TwistedTubs.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 811 of file G4TwistedTubs.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 982 of file G4TwistedTubs.cc.
|
inline |
Definition at line 215 of file G4TwistedTubs.hh.
|
inline |
Definition at line 216 of file G4TwistedTubs.hh.
|
inline |
Definition at line 217 of file G4TwistedTubs.hh.
|
inline |
Definition at line 218 of file G4TwistedTubs.hh.
|
inline |
Definition at line 212 of file G4TwistedTubs.hh.
Referenced by G4tgbGeometryDumper::GetSolidParams().
|
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 365 of file G4TwistedTubs.cc.
Referenced by DistanceToIn(), DistanceToIn(), DistanceToOut(), and DistanceToOut().
| G4TwistedTubs & G4TwistedTubs::operator= | ( | const G4TwistedTubs & | rhs | ) |
Definition at line 243 of file G4TwistedTubs.cc.
|
overridevirtual |
Streams the object contents to an output stream.
Implements G4VSolid.
Definition at line 719 of file G4TwistedTubs.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 405 of file G4TwistedTubs.cc.
Referenced by DistanceToIn(), and DistanceToOut().