Geant4  10.00.p02
G4TwistTrapAlphaSide Class Reference

#include <G4TwistTrapAlphaSide.hh>

+ Inheritance diagram for G4TwistTrapAlphaSide:
+ Collaboration diagram for G4TwistTrapAlphaSide:

Public Member Functions

 G4TwistTrapAlphaSide (const G4String &name, G4double PhiTwist, G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlph, G4double AngleSide)
 
virtual ~G4TwistTrapAlphaSide ()
 
virtual G4ThreeVector GetNormal (const G4ThreeVector &xx, G4bool isGlobal=false)
 
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[])
 
 G4TwistTrapAlphaSide (__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 void SetCorners ()
 
virtual void SetBoundaries ()
 
void GetPhiUAtX (G4ThreeVector p, G4double &phi, G4double &u)
 
G4ThreeVector ProjectPoint (const G4ThreeVector &p, G4bool isglobal=false)
 
virtual G4ThreeVector SurfacePoint (G4double phi, G4double u, 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)
 
G4ThreeVector NormAng (G4double phi, G4double u)
 
G4double GetValueA (G4double phi)
 
G4double GetValueB (G4double phi)
 
G4double GetValueD (G4double phi)
 
G4double Xcoef (G4double u, G4double phi)
 

Private Attributes

G4double fTheta
 
G4double fPhi
 
G4double fDy1
 
G4double fDx1
 
G4double fDx2
 
G4double fDy2
 
G4double fDx3
 
G4double fDx4
 
G4double fDz
 
G4double fAlph
 
G4double fTAlph
 
G4double fPhiTwist
 
G4double fAngleSide
 
G4double fDx4plus2
 
G4double fDx4minus2
 
G4double fDx3plus1
 
G4double fDx3minus1
 
G4double fDy2plus1
 
G4double fDy2minus1
 
G4double fa1md1
 
G4double fa2md2
 
G4double fdeltaX
 
G4double fdeltaY
 

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 51 of file G4TwistTrapAlphaSide.hh.

Constructor & Destructor Documentation

G4TwistTrapAlphaSide::G4TwistTrapAlphaSide ( const G4String name,
G4double  PhiTwist,
G4double  pDz,
G4double  pTheta,
G4double  pPhi,
G4double  pDy1,
G4double  pDx1,
G4double  pDx2,
G4double  pDy2,
G4double  pDx3,
G4double  pDx4,
G4double  pAlph,
G4double  AngleSide 
)

Definition at line 52 of file G4TwistTrapAlphaSide.cc.

References fa1md1, fa2md2, fAlph, fAngleSide, G4VTwistSurface::fAxis, G4VTwistSurface::fAxisMax, G4VTwistSurface::fAxisMin, fdeltaX, fdeltaY, fDx1, fDx2, fDx3, fDx3minus1, fDx3plus1, fDx4, fDx4minus2, fDx4plus2, fDy1, fDy2, fDy2minus1, fDy2plus1, fDz, G4VTwistSurface::fIsValidNorm, fPhi, fPhiTwist, G4VTwistSurface::fRot, fTAlph, fTheta, G4VTwistSurface::fTrans, kInfinity, kYAxis, kZAxis, SetBoundaries(), and SetCorners().

+ Here is the call graph for this function:

G4TwistTrapAlphaSide::~G4TwistTrapAlphaSide ( )
virtual

Definition at line 137 of file G4TwistTrapAlphaSide.cc.

G4TwistTrapAlphaSide::G4TwistTrapAlphaSide ( __void__ &  a)

Definition at line 124 of file G4TwistTrapAlphaSide.cc.

Member Function Documentation

G4int G4TwistTrapAlphaSide::DistanceToSurface ( const G4ThreeVector gp,
const G4ThreeVector gv,
G4ThreeVector  gxx[],
G4double  distance[],
G4int  areacode[],
G4bool  isvalid[],
EValidate  validate = kValidateWithTol 
)
virtual
G4int G4TwistTrapAlphaSide::GetAreaCode ( const G4ThreeVector xx,
G4bool  withTol = true 
)
privatevirtual

Implements G4VTwistSurface.

Definition at line 797 of file G4TwistTrapAlphaSide.cc.

References FatalException, G4VTwistSurface::fAxis, G4VTwistSurface::fAxisMax, G4VTwistSurface::fAxisMin, G4cout, G4endl, G4Exception(), GetBoundaryMax(), GetBoundaryMin(), GetPhiUAtX(), G4VTwistSurface::kCarTolerance, kYAxis, kZAxis, G4VTwistSurface::sAxis0, G4VTwistSurface::sAxis1, G4VTwistSurface::sAxisMax, G4VTwistSurface::sAxisMin, G4VTwistSurface::sAxisY, G4VTwistSurface::sAxisZ, G4VTwistSurface::sBoundary, G4VTwistSurface::sCorner, and G4VTwistSurface::sInside.

Referenced by DistanceToSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::GetBoundaryMax ( G4double  phi)
inlineprivatevirtual

Implements G4VTwistSurface.

Definition at line 210 of file G4TwistTrapAlphaSide.hh.

References GetValueB().

Referenced by DistanceToSurface(), and GetAreaCode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::GetBoundaryMin ( G4double  phi)
inlineprivatevirtual

Implements G4VTwistSurface.

Definition at line 204 of file G4TwistTrapAlphaSide.hh.

References GetValueB().

Referenced by GetAreaCode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VTwistSurface.

Definition at line 1115 of file G4TwistTrapAlphaSide.cc.

References fDz, fPhiTwist, G4VTwistSurface::GetEdgeVisibility(), G4VTwistSurface::GetFace(), G4VTwistSurface::GetNode(), GetValueB(), n, SurfacePoint(), and z.

+ Here is the call graph for this function:

G4ThreeVector G4TwistTrapAlphaSide::GetNormal ( const G4ThreeVector xx,
G4bool  isGlobal = false 
)
virtual

Implements G4VTwistSurface.

Definition at line 146 of file G4TwistTrapAlphaSide.cc.

References G4VTwistSurface::ComputeGlobalDirection(), G4VTwistSurface::ComputeLocalPoint(), G4VTwistSurface::fCurrentNormal, G4cout, G4endl, GetPhiUAtX(), G4VTwistSurface::kCarTolerance, CLHEP::normal(), G4VTwistSurface::G4SurfCurNormal::normal, NormAng(), and G4VTwistSurface::G4SurfCurNormal::p.

+ Here is the call graph for this function:

void G4TwistTrapAlphaSide::GetPhiUAtX ( G4ThreeVector  p,
G4double phi,
G4double u 
)
private

Definition at line 1045 of file G4TwistTrapAlphaSide.cc.

References fa1md1, fdeltaX, fdeltaY, fDx1, fDx2, fDx3, fDx3minus1, fDx3plus1, fDx4, fDx4minus2, fDx4plus2, fDy1, fDz, fPhiTwist, and fTAlph.

Referenced by DistanceToSurface(), GetAreaCode(), GetNormal(), and ProjectPoint().

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::GetSurfaceArea ( )
inlineprivatevirtual

Implements G4VTwistSurface.

Definition at line 216 of file G4TwistTrapAlphaSide.hh.

References fa1md1, fa2md2, fDy1, fDy2, fDz, and fTAlph.

G4double G4TwistTrapAlphaSide::GetValueA ( G4double  phi)
inlineprivate

Definition at line 162 of file G4TwistTrapAlphaSide.hh.

References fDx4minus2, fDx4plus2, and fPhiTwist.

Referenced by Xcoef().

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::GetValueB ( G4double  phi)
inlineprivate

Definition at line 174 of file G4TwistTrapAlphaSide.hh.

References fDy2minus1, fDy2plus1, and fPhiTwist.

Referenced by GetBoundaryMax(), GetBoundaryMin(), GetFacets(), and Xcoef().

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::GetValueD ( G4double  phi)
inlineprivate

Definition at line 168 of file G4TwistTrapAlphaSide.hh.

References fDx3minus1, fDx3plus1, and fPhiTwist.

Referenced by Xcoef().

+ Here is the caller graph for this function:

G4ThreeVector G4TwistTrapAlphaSide::NormAng ( G4double  phi,
G4double  u 
)
inlineprivate

Definition at line 225 of file G4TwistTrapAlphaSide.hh.

References fa1md1, fdeltaX, fdeltaY, fDx2, fDx3minus1, fDx3plus1, fDx4, fDx4minus2, fDy1, fDz, fPhiTwist, and fTAlph.

Referenced by DistanceToSurface(), and GetNormal().

+ Here is the caller graph for this function:

G4ThreeVector G4TwistTrapAlphaSide::ProjectPoint ( const G4ThreeVector p,
G4bool  isglobal = false 
)
private

Definition at line 1078 of file G4TwistTrapAlphaSide.cc.

References G4VTwistSurface::fRot, G4VTwistSurface::fTrans, GetPhiUAtX(), and SurfacePoint().

+ Here is the call graph for this function:

void G4TwistTrapAlphaSide::SetBoundaries ( )
privatevirtual

Implements G4VTwistSurface.

Definition at line 999 of file G4TwistTrapAlphaSide.cc.

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

Referenced by G4TwistTrapAlphaSide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4TwistTrapAlphaSide::SetCorners ( )
privatevirtual

Implements G4VTwistSurface.

Definition at line 930 of file G4TwistTrapAlphaSide.cc.

References FatalException, G4VTwistSurface::fAxis, fdeltaX, fdeltaY, fDx1, fDx2, fDx3, fDx4, fDy1, fDy2, fDz, fPhiTwist, fTAlph, G4Exception(), kYAxis, kZAxis, G4VTwistSurface::sC0Max1Max, G4VTwistSurface::sC0Max1Min, G4VTwistSurface::sC0Min1Max, G4VTwistSurface::sC0Min1Min, G4VTwistSurface::SetCorner(), and z.

Referenced by G4TwistTrapAlphaSide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4TwistTrapAlphaSide::SurfacePoint ( G4double  phi,
G4double  u,
G4bool  isGlobal = false 
)
inlineprivatevirtual

Implements G4VTwistSurface.

Definition at line 190 of file G4TwistTrapAlphaSide.hh.

References fdeltaX, fdeltaY, fDz, fPhiTwist, G4VTwistSurface::fRot, G4VTwistSurface::fTrans, and Xcoef().

Referenced by DistanceToSurface(), GetFacets(), and ProjectPoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TwistTrapAlphaSide::Xcoef ( G4double  u,
G4double  phi 
)
inlineprivate

Definition at line 181 of file G4TwistTrapAlphaSide.hh.

References fTAlph, GetValueA(), GetValueB(), and GetValueD().

Referenced by SurfacePoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4TwistTrapAlphaSide::fa1md1
private
G4double G4TwistTrapAlphaSide::fa2md2
private

Definition at line 151 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), and GetSurfaceArea().

G4double G4TwistTrapAlphaSide::fAlph
private

Definition at line 137 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide().

G4double G4TwistTrapAlphaSide::fAngleSide
private

Definition at line 142 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide().

G4double G4TwistTrapAlphaSide::fdeltaX
private
G4double G4TwistTrapAlphaSide::fdeltaY
private
G4double G4TwistTrapAlphaSide::fDx1
private

Definition at line 128 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), GetPhiUAtX(), and SetCorners().

G4double G4TwistTrapAlphaSide::fDx2
private

Definition at line 129 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), GetPhiUAtX(), NormAng(), and SetCorners().

G4double G4TwistTrapAlphaSide::fDx3
private

Definition at line 132 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), GetPhiUAtX(), and SetCorners().

G4double G4TwistTrapAlphaSide::fDx3minus1
private
G4double G4TwistTrapAlphaSide::fDx3plus1
private
G4double G4TwistTrapAlphaSide::fDx4
private

Definition at line 133 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), GetPhiUAtX(), NormAng(), and SetCorners().

G4double G4TwistTrapAlphaSide::fDx4minus2
private
G4double G4TwistTrapAlphaSide::fDx4plus2
private
G4double G4TwistTrapAlphaSide::fDy1
private
G4double G4TwistTrapAlphaSide::fDy2
private

Definition at line 131 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), GetSurfaceArea(), and SetCorners().

G4double G4TwistTrapAlphaSide::fDy2minus1
private

Definition at line 149 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), and GetValueB().

G4double G4TwistTrapAlphaSide::fDy2plus1
private

Definition at line 148 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide(), and GetValueB().

G4double G4TwistTrapAlphaSide::fDz
private
G4double G4TwistTrapAlphaSide::fPhi
private

Definition at line 125 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide().

G4double G4TwistTrapAlphaSide::fTAlph
private
G4double G4TwistTrapAlphaSide::fTheta
private

Definition at line 124 of file G4TwistTrapAlphaSide.hh.

Referenced by G4TwistTrapAlphaSide().


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