|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4TwistTubsFlatSide describes a twisted boundary surface for a cylinder. More...
#include <G4TwistTubsSide.hh>
Additional Inherited Members | |
| Public Types inherited from G4VTwistSurface | |
| enum | EValidate { kDontValidate = 0 , kValidateWithTol = 1 , kValidateWithoutTol = 2 , kUninitialized = 3 } |
| Static Public Attributes inherited from G4VTwistSurface | |
| static const G4int | sOutside = 0x00000000 |
| static const G4int | sInside = 0x10000000 |
| static const G4int | sBoundary = 0x20000000 |
| static const G4int | sCorner = 0x40000000 |
| static const G4int | sC0Min1Min = 0x40000101 |
| static const G4int | sC0Max1Min = 0x40000201 |
| static const G4int | sC0Max1Max = 0x40000202 |
| static const G4int | sC0Min1Max = 0x40000102 |
| static const G4int | sAxisMin = 0x00000101 |
| static const G4int | sAxisMax = 0x00000202 |
| static const G4int | sAxisX = 0x00000404 |
| static const G4int | sAxisY = 0x00000808 |
| static const G4int | sAxisZ = 0x00000C0C |
| static const G4int | sAxisRho = 0x00001010 |
| static const G4int | sAxisPhi = 0x00001414 |
| static const G4int | sAxis0 = 0x0000FF00 |
| static const G4int | sAxis1 = 0x000000FF |
| static const G4int | sSizeMask = 0x00000303 |
| static const G4int | sAxisMask = 0x0000FCFC |
| static const G4int | sAreaMask = 0XF0000000 |
| Protected Member Functions inherited from G4VTwistSurface | |
| G4VTwistSurface ** | GetNeighbours () |
| G4int | GetNeighbours (G4int areacode, G4VTwistSurface *surfaces[]) |
| G4ThreeVector | GetCorner (G4int areacode) const |
| void | GetBoundaryAxis (G4int areacode, EAxis axis[]) const |
| void | GetBoundaryLimit (G4int areacode, G4double limit[]) const |
| virtual void | SetBoundary (const G4int &axiscode, const G4ThreeVector &direction, const G4ThreeVector &x0, const G4int &boundarytype) |
| void | SetCorner (G4int areacode, G4double x, G4double y, G4double z) |
| Protected Attributes inherited from G4VTwistSurface | |
| EAxis | fAxis [2] |
| G4double | fAxisMin [2] |
| G4double | fAxisMax [2] |
| CurrentStatus | fCurStatWithV |
| CurrentStatus | fCurStat |
| G4RotationMatrix | fRot |
| G4ThreeVector | fTrans |
| G4int | fHandedness |
| G4SurfCurNormal | fCurrentNormal |
| G4bool | fIsValidNorm |
| G4double | kCarTolerance |
G4TwistTubsFlatSide describes a twisted boundary surface for a cylinder.
Definition at line 46 of file G4TwistTubsSide.hh.
| G4TwistTubsSide::G4TwistTubsSide | ( | const G4String & | name, |
| const G4RotationMatrix & | rot, | ||
| const G4ThreeVector & | tlate, | ||
| G4int | handedness, | ||
| const G4double | kappa, | ||
| const EAxis | axis0 = kXAxis, | ||
| const EAxis | axis1 = kZAxis, | ||
| G4double | axis0min = -kInfinity, | ||
| G4double | axis1min = -kInfinity, | ||
| G4double | axis0max = kInfinity, | ||
| G4double | axis1max = kInfinity ) |
Constructs a cylinder twisted boundary surface, given its parameters.
| [in] | name | The surface name. |
| [in] | rot | Rotation: 0.5*(phi-width segment). |
| [in] | tlate | Translation. |
| [in] | handedness | Orientation: R-hand = 1, L-hand = -1. |
| [in] | kappa | Kappa=tan(TwistAngle/2)/fZHalfLen. |
| [in] | axis0 | X axis. |
| [in] | axis1 | Z axis. |
| [in] | axis0min | Minimum in X. |
| [in] | axis1min | Minimum in Z. |
| [in] | axis0max | Maximum in X. |
| [in] | axis1max | Maximum in Z. |
Definition at line 38 of file G4TwistTubsSide.cc.
| G4TwistTubsSide::G4TwistTubsSide | ( | const G4String & | name, |
| G4double | EndInnerRadius[2], | ||
| G4double | EndOuterRadius[2], | ||
| G4double | DPhi, | ||
| G4double | EndPhi[2], | ||
| G4double | EndZ[2], | ||
| G4double | InnerRadius, | ||
| G4double | OuterRadius, | ||
| G4double | Kappa, | ||
| G4int | handedness ) |
Alternative Construct for a cylinder twisted boundary surface.
| [in] | name | The surface name. |
| [in] | EndInnerRadius | Inner-hype radius at z=0. |
| [in] | EndOuterRadius | Outer-hype radius at z=0. |
| [in] | DPhi | Phi angle. |
| [in] | EndPhi | Total Phi. |
| [in] | EndZ | Z length. |
| [in] | InnerRadius | Inner radius. |
| [in] | OuterRadius | Outer radius. |
| [in] | Kappa | Kappa=tan(TwistAngle/2)/fZHalfLen. |
| [in] | handedness | Orientation: R-hand = 1, L-hand = -1. |
Definition at line 63 of file G4TwistTubsSide.cc.
|
overridedefault |
Default destructor.
| G4TwistTubsSide::G4TwistTubsSide | ( | __void__ & | a | ) |
Definition at line 97 of file G4TwistTubsSide.cc.
|
overridevirtual |
Returns the distance to surface, given point 'gp' and direction 'gv'.
| [in] | gp | The point from where computing the distance. |
| [in] | gv | The direction along which computing the distance. |
| [out] | gxx | Vector of global points based on number of solutions. |
| [out] | distance | The distance vector based on number of solutions. |
| [out] | areacode | The location vector based on number of solutions. |
| [out] | isvalid | Validity vector based on number of solutions. |
| [in] | validate | Adopted validation criteria. |
Implements G4VTwistSurface.
Definition at line 148 of file G4TwistTubsSide.cc.
|
overridevirtual |
Returns the safety distance to surface, given point 'gp'.
| [in] | gp | The point from where computing the safety distance. |
| [out] | gxx | Vector of global points based on number of solutions. |
| [out] | distance | The distance vector based on number of solutions. |
| [out] | areacode | The location vector based on number of solutions. |
Implements G4VTwistSurface.
Definition at line 467 of file G4TwistTubsSide.cc.
|
overridevirtual |
Returns a normal vector at a surface (or very close to the surface) point at 'p'.
| [in] | p | The point where computing the normal. |
| [in] | isGlobal | If true, it returns the normal in global coordinates. |
Implements G4VTwistSurface.
Definition at line 105 of file G4TwistTubsSide.cc.
Referenced by DistanceToSurface().
|
inline |
Get projection at p.z() on the surface.
Definition at line 214 of file G4TwistTubsSide.hh.