Geant4  10.00.p01
G4TwistTubsHypeSide Class Reference

#include <G4TwistTubsHypeSide.hh>

+ Inheritance diagram for G4TwistTubsHypeSide:
+ Collaboration diagram for G4TwistTubsHypeSide:

Classes

class  Insidetype
 

Public Member Functions

 G4TwistTubsHypeSide (const G4String &name, const G4RotationMatrix &rot, const G4ThreeVector &tlate, const G4int handedness, const G4double kappa, const G4double tanstereo, const G4double r0, const EAxis axis0=kPhi, const EAxis axis1=kZAxis, G4double axis0min=-kInfinity, G4double axis1min=-kInfinity, G4double axis0max=kInfinity, G4double axis1max=kInfinity)
 
 G4TwistTubsHypeSide (const G4String &name, G4double EndInnerRadius[2], G4double EndOuterRadius[2], G4double DPhi, G4double EndPhi[2], G4double EndZ[2], G4double InnerRadius, G4double OuterRadius, G4double Kappa, G4double TanInnerStereo, G4double TanOuterStereo, G4int handedness)
 
virtual ~G4TwistTubsHypeSide ()
 
virtual G4int DistanceToSurface (const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol)
 
virtual G4int DistanceToSurface (const G4ThreeVector &gp, G4ThreeVector gxx[], G4double distance[], G4int areacode[])
 
virtual G4ThreeVector GetNormal (const G4ThreeVector &xx, G4bool isGlobal=false)
 
virtual EInside Inside (const G4ThreeVector &gp)
 
virtual G4double GetRhoAtPZ (const G4ThreeVector &p, G4bool isglobal=false) const
 
virtual G4ThreeVector SurfacePoint (G4double, G4double, G4bool isGlobal=false)
 
virtual G4double GetBoundaryMin (G4double phi)
 
virtual G4double GetBoundaryMax (G4double phi)
 
virtual G4double GetSurfaceArea ()
 
virtual void GetFacets (G4int m, G4int n, G4double xyz[][3], G4int faces[][4], G4int iside)
 
 G4TwistTubsHypeSide (__void__ &)
 
- Public Member Functions inherited from G4VTwistSurface
 G4VTwistSurface (const G4String &name)
 
 G4VTwistSurface (const G4String &name, const G4RotationMatrix &rot, const G4ThreeVector &tlate, G4int handedness, const EAxis axis1, const EAxis axis2, G4double axis0min=-kInfinity, G4double axis1min=-kInfinity, G4double axis0max=kInfinity, G4double axis1max=kInfinity)
 
virtual ~G4VTwistSurface ()
 
virtual G4int AmIOnLeftSide (const G4ThreeVector &me, const G4ThreeVector &vec, G4bool withTol=true)
 
virtual G4double DistanceToBoundary (G4int areacode, G4ThreeVector &xx, const G4ThreeVector &p)
 
virtual G4double DistanceToIn (const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector &gxxbest)
 
virtual G4double DistanceToOut (const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector &gxxbest)
 
virtual G4double DistanceTo (const G4ThreeVector &gp, G4ThreeVector &gxx)
 
void DebugPrint () const
 
virtual G4String GetName () const
 
virtual void GetBoundaryParameters (const G4int &areacode, G4ThreeVector &d, G4ThreeVector &x0, G4int &boundarytype) const
 
virtual G4ThreeVector GetBoundaryAtPZ (G4int areacode, const G4ThreeVector &p) const
 
G4double DistanceToPlaneWithV (const G4ThreeVector &p, const G4ThreeVector &v, const G4ThreeVector &x0, const G4ThreeVector &n0, G4ThreeVector &xx)
 
G4double DistanceToPlane (const G4ThreeVector &p, const G4ThreeVector &x0, const G4ThreeVector &n0, G4ThreeVector &xx)
 
G4double DistanceToPlane (const G4ThreeVector &p, const G4ThreeVector &x0, const G4ThreeVector &t1, const G4ThreeVector &t2, G4ThreeVector &xx, G4ThreeVector &n)
 
G4double DistanceToLine (const G4ThreeVector &p, const G4ThreeVector &x0, const G4ThreeVector &d, G4ThreeVector &xx)
 
G4bool IsAxis0 (G4int areacode) const
 
G4bool IsAxis1 (G4int areacode) const
 
G4bool IsOutside (G4int areacode) const
 
G4bool IsInside (G4int areacode, G4bool testbitmode=false) const
 
G4bool IsBoundary (G4int areacode, G4bool testbitmode=false) const
 
G4bool IsCorner (G4int areacode, G4bool testbitmode=false) const
 
G4bool IsValidNorm () const
 
G4bool IsSameBoundary (G4VTwistSurface *surface1, G4int areacode1, G4VTwistSurface *surface2, G4int areacode2) const
 
G4int GetAxisType (G4int areacode, G4int whichaxis) const
 
G4ThreeVector ComputeGlobalPoint (const G4ThreeVector &lp) const
 
G4ThreeVector ComputeLocalPoint (const G4ThreeVector &gp) const
 
G4ThreeVector ComputeGlobalDirection (const G4ThreeVector &lp) const
 
G4ThreeVector ComputeLocalDirection (const G4ThreeVector &gp) const
 
void SetAxis (G4int i, const EAxis axis)
 
void SetNeighbours (G4VTwistSurface *axis0min, G4VTwistSurface *axis1min, G4VTwistSurface *axis0max, G4VTwistSurface *axis1max)
 
G4int GetNode (G4int i, G4int j, G4int m, G4int n, G4int iside)
 
G4int GetFace (G4int i, G4int j, G4int m, G4int n, G4int iside)
 
G4int GetEdgeVisibility (G4int i, G4int j, G4int m, G4int n, G4int number, G4int orientation)
 
 G4VTwistSurface (__void__ &)
 

Private Member Functions

virtual G4int GetAreaCode (const G4ThreeVector &xx, G4bool withTol=true)
 
virtual G4int GetAreaCodeInPhi (const G4ThreeVector &xx, G4bool withTol=true)
 
virtual void SetCorners ()
 
virtual void SetCorners (G4double EndInnerRadius[2], G4double EndOuterRadius[2], G4double DPhi, G4double EndPhi[2], G4double EndZ[2])
 
virtual void SetBoundaries ()
 

Private Attributes

G4double fKappa
 
G4double fTanStereo
 
G4double fTan2Stereo
 
G4double fR0
 
G4double fR02
 
G4double fDPhi
 
Insidetype fInside
 

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
 

Detailed Description

Definition at line 54 of file G4TwistTubsHypeSide.hh.

Constructor & Destructor Documentation

G4TwistTubsHypeSide::G4TwistTubsHypeSide ( const G4String name,
const G4RotationMatrix rot,
const G4ThreeVector tlate,
const G4int  handedness,
const G4double  kappa,
const G4double  tanstereo,
const G4double  r0,
const EAxis  axis0 = kPhi,
const EAxis  axis1 = kZAxis,
G4double  axis0min = -kInfinity,
G4double  axis1min = -kInfinity,
G4double  axis0max = kInfinity,
G4double  axis1max = kInfinity 
)

Definition at line 51 of file G4TwistTubsHypeSide.cc.

References FatalErrorInArgument, fInside, G4VTwistSurface::fIsValidNorm, G4Exception(), G4TwistTubsHypeSide::Insidetype::gp, G4TwistTubsHypeSide::Insidetype::inside, kInfinity, kOutside, kPhi, kZAxis, SetBoundaries(), and SetCorners().

+ Here is the call graph for this function:

G4TwistTubsHypeSide::G4TwistTubsHypeSide ( const G4String name,
G4double  EndInnerRadius[2],
G4double  EndOuterRadius[2],
G4double  DPhi,
G4double  EndPhi[2],
G4double  EndZ[2],
G4double  InnerRadius,
G4double  OuterRadius,
G4double  Kappa,
G4double  TanInnerStereo,
G4double  TanOuterStereo,
G4int  handedness 
)
G4TwistTubsHypeSide::~G4TwistTubsHypeSide ( )
virtual

Definition at line 143 of file G4TwistTubsHypeSide.cc.

G4TwistTubsHypeSide::G4TwistTubsHypeSide ( __void__ &  a)

Definition at line 134 of file G4TwistTubsHypeSide.cc.

Member Function Documentation

G4int G4TwistTubsHypeSide::GetAreaCode ( const G4ThreeVector xx,
G4bool  withTol = true 
)
privatevirtual

Implements G4VTwistSurface.

Definition at line 649 of file G4TwistTubsHypeSide.cc.

References FatalException, G4VTwistSurface::fAxis, G4VTwistSurface::fAxisMax, G4VTwistSurface::fAxisMin, G4endl, G4Exception(), GetAreaCodeInPhi(), G4VTwistSurface::IsOutside(), G4VTwistSurface::kCarTolerance, kPhi, kZAxis, G4VTwistSurface::sAxis0, G4VTwistSurface::sAxis1, G4VTwistSurface::sAxisMax, G4VTwistSurface::sAxisMin, G4VTwistSurface::sAxisPhi, G4VTwistSurface::sAxisZ, G4VTwistSurface::sBoundary, G4VTwistSurface::sCorner, and G4VTwistSurface::sInside.

Referenced by DistanceToSurface(), and Inside().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4TwistTubsHypeSide::GetAreaCodeInPhi ( const G4ThreeVector xx,
G4bool  withTol = true 
)
privatevirtual

Definition at line 763 of file G4TwistTubsHypeSide.cc.

References G4VTwistSurface::AmIOnLeftSide(), G4VTwistSurface::GetBoundaryAtPZ(), G4VTwistSurface::sAxis0, G4VTwistSurface::sAxisMax, G4VTwistSurface::sAxisMin, G4VTwistSurface::sBoundary, and G4VTwistSurface::sInside.

Referenced by GetAreaCode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TwistTubsHypeSide::GetBoundaryMax ( G4double  phi)
inlinevirtual

Implements G4VTwistSurface.

Definition at line 195 of file G4TwistTubsHypeSide.hh.

References G4VTwistSurface::GetBoundaryAtPZ(), G4VTwistSurface::sAxis0, and G4VTwistSurface::sAxisMax.

Referenced by GetFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TwistTubsHypeSide::GetBoundaryMin ( G4double  phi)
inlinevirtual

Implements G4VTwistSurface.

Definition at line 186 of file G4TwistTubsHypeSide.hh.

References G4VTwistSurface::GetBoundaryAtPZ(), G4VTwistSurface::sAxis0, and G4VTwistSurface::sAxisMin.

Referenced by GetFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4TwistTubsHypeSide::GetFacets ( G4int  m,
G4int  n,
G4double  xyz[][3],
G4int  faces[][4],
G4int  iside 
)
virtual

Implements G4VTwistSurface.

Definition at line 929 of file G4TwistTubsHypeSide.cc.

References G4VTwistSurface::fAxisMax, G4VTwistSurface::fAxisMin, G4VTwistSurface::fHandedness, GetBoundaryMax(), GetBoundaryMin(), G4VTwistSurface::GetEdgeVisibility(), G4VTwistSurface::GetFace(), G4VTwistSurface::GetNode(), n, SurfacePoint(), and z.

+ Here is the call graph for this function:

G4ThreeVector G4TwistTubsHypeSide::GetNormal ( const G4ThreeVector xx,
G4bool  isGlobal = false 
)
virtual
G4double G4TwistTubsHypeSide::GetRhoAtPZ ( const G4ThreeVector p,
G4bool  isglobal = false 
) const
inlinevirtual

Definition at line 160 of file G4TwistTubsHypeSide.hh.

References fR02, G4VTwistSurface::fRot, fTan2Stereo, and G4VTwistSurface::fTrans.

Referenced by Inside().

+ Here is the caller graph for this function:

G4double G4TwistTubsHypeSide::GetSurfaceArea ( )
inlinevirtual

Implements G4VTwistSurface.

Definition at line 204 of file G4TwistTubsHypeSide.hh.

References G4VTwistSurface::fAxisMax, G4VTwistSurface::fAxisMin, fDPhi, and fR0.

void G4TwistTubsHypeSide::SetBoundaries ( )
privatevirtual

Implements G4VTwistSurface.

Definition at line 884 of file G4TwistTubsHypeSide.cc.

References FatalException, G4VTwistSurface::fAxis, G4endl, G4Exception(), G4VTwistSurface::GetCorner(), kPhi, kZAxis, G4VTwistSurface::sAxis0, G4VTwistSurface::sAxis1, G4VTwistSurface::sAxisMax, G4VTwistSurface::sAxisMin, G4VTwistSurface::sAxisPhi, G4VTwistSurface::sAxisZ, G4VTwistSurface::sC0Max1Max, G4VTwistSurface::sC0Max1Min, G4VTwistSurface::sC0Min1Max, G4VTwistSurface::sC0Min1Min, and G4VTwistSurface::SetBoundary().

Referenced by G4TwistTubsHypeSide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4TwistTubsHypeSide::SetCorners ( )
privatevirtual

Implements G4VTwistSurface.

Definition at line 874 of file G4TwistTubsHypeSide.cc.

References FatalException, and G4Exception().

Referenced by G4TwistTubsHypeSide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4TwistTubsHypeSide::SetCorners ( G4double  EndInnerRadius[2],
G4double  EndOuterRadius[2],
G4double  DPhi,
G4double  EndPhi[2],
G4double  EndZ[2] 
)
privatevirtual

Definition at line 810 of file G4TwistTubsHypeSide.cc.

References FatalException, G4VTwistSurface::fAxis, G4VTwistSurface::fHandedness, G4endl, G4Exception(), kPhi, kZAxis, G4VTwistSurface::sC0Max1Max, G4VTwistSurface::sC0Max1Min, G4VTwistSurface::sC0Min1Max, G4VTwistSurface::sC0Min1Min, G4VTwistSurface::SetCorner(), and z.

+ Here is the call graph for this function:

G4ThreeVector G4TwistTubsHypeSide::SurfacePoint ( G4double  phi,
G4double  z,
G4bool  isGlobal = false 
)
inlinevirtual

Implements G4VTwistSurface.

Definition at line 175 of file G4TwistTubsHypeSide.hh.

References fR02, G4VTwistSurface::fRot, fTan2Stereo, and G4VTwistSurface::fTrans.

Referenced by GetFacets().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4TwistTubsHypeSide::fDPhi
private

Definition at line 144 of file G4TwistTubsHypeSide.hh.

Referenced by G4TwistTubsHypeSide(), and GetSurfaceArea().

Insidetype G4TwistTubsHypeSide::fInside
private

Definition at line 152 of file G4TwistTubsHypeSide.hh.

Referenced by G4TwistTubsHypeSide(), and Inside().

G4double G4TwistTubsHypeSide::fKappa
private

Definition at line 139 of file G4TwistTubsHypeSide.hh.

Referenced by G4TwistTubsHypeSide().

G4double G4TwistTubsHypeSide::fR0
private

Definition at line 142 of file G4TwistTubsHypeSide.hh.

Referenced by DistanceToSurface(), G4TwistTubsHypeSide(), and GetSurfaceArea().

G4double G4TwistTubsHypeSide::fR02
private
G4double G4TwistTubsHypeSide::fTan2Stereo
private
G4double G4TwistTubsHypeSide::fTanStereo
private

Definition at line 140 of file G4TwistTubsHypeSide.hh.

Referenced by DistanceToSurface(), and G4TwistTubsHypeSide().


The documentation for this class was generated from the following files: