Geant4  10.03
G4VTwistSurface Class Referenceabstract

#include <G4VTwistSurface.hh>

+ Inheritance diagram for G4VTwistSurface:
+ Collaboration diagram for G4VTwistSurface:

Classes

class  Boundary
 
class  CurrentStatus
 
class  G4SurfCurNormal
 
class  G4SurfSideQuery
 

Public Types

enum  EValidate { kDontValidate = 0, kValidateWithTol = 1, kValidateWithoutTol = 2, kUninitialized = 3 }
 

Public Member Functions

 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)
 
virtual G4int DistanceToSurface (const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol)=0
 
virtual G4int DistanceToSurface (const G4ThreeVector &gp, G4ThreeVector gxx[], G4double distance[], G4int areacode[])=0
 
void DebugPrint () const
 
virtual G4ThreeVector GetNormal (const G4ThreeVector &xx, G4bool isGlobal)=0
 
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)
 
virtual G4ThreeVector SurfacePoint (G4double, G4double, G4bool isGlobal=false)=0
 
virtual G4double GetBoundaryMin (G4double)=0
 
virtual G4double GetBoundaryMax (G4double)=0
 
virtual G4double GetSurfaceArea ()=0
 
virtual void GetFacets (G4int m, G4int n, G4double xyz[][3], G4int faces[][4], G4int iside)=0
 
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__ &)
 

Static Public Attributes

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

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 G4int GetAreaCode (const G4ThreeVector &xx, G4bool withtol=true)=0
 
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

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
 

Private Member Functions

virtual void SetBoundaries ()=0
 
virtual void SetCorners ()=0
 

Private Attributes

G4VTwistSurfacefNeighbours [4]
 
G4ThreeVector fCorners [4]
 
Boundary fBoundaries [4]
 
G4String fName
 
G4SurfSideQuery fAmIOnLeftSide
 

Detailed Description

Definition at line 59 of file G4VTwistSurface.hh.

Member Enumeration Documentation

Enumerator
kDontValidate 
kValidateWithTol 
kValidateWithoutTol 
kUninitialized 

Definition at line 63 of file G4VTwistSurface.hh.

Constructor & Destructor Documentation

G4VTwistSurface::G4VTwistSurface ( const G4String name)

Definition at line 75 of file G4VTwistSurface.cc.

References fAmIOnLeftSide, fAxis, fAxisMax, fAxisMin, fCorners, fCurrentNormal, fHandedness, fNeighbours, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, kInfinity, kUndefined, G4VTwistSurface::G4SurfSideQuery::me, G4VTwistSurface::G4SurfCurNormal::p, and G4VTwistSurface::G4SurfSideQuery::vec.

+ Here is the call graph for this function:

G4VTwistSurface::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 
)

Definition at line 100 of file G4VTwistSurface.cc.

References fAmIOnLeftSide, fAxis, fAxisMax, fAxisMin, fCorners, fCurrentNormal, fHandedness, fNeighbours, fRot, fTrans, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, kInfinity, G4VTwistSurface::G4SurfSideQuery::me, G4VTwistSurface::G4SurfCurNormal::p, and G4VTwistSurface::G4SurfSideQuery::vec.

+ Here is the call graph for this function:

G4VTwistSurface::~G4VTwistSurface ( )
virtual

Definition at line 151 of file G4VTwistSurface.cc.

G4VTwistSurface::G4VTwistSurface ( __void__ &  )

Definition at line 138 of file G4VTwistSurface.cc.

References fAxis, fAxisMax, fAxisMin, fNeighbours, and kXAxis.

Member Function Documentation

G4int G4VTwistSurface::AmIOnLeftSide ( const G4ThreeVector me,
const G4ThreeVector vec,
G4bool  withTol = true 
)
virtual

Definition at line 158 of file G4VTwistSurface.cc.

References G4VTwistSurface::G4SurfSideQuery::amIOnLeftSide, fAmIOnLeftSide, fName, G4cout, G4endl, G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4VTwistSurface::G4SurfSideQuery::me, G4VTwistSurface::G4SurfSideQuery::vec, and G4VTwistSurface::G4SurfSideQuery::withTol.

Referenced by G4TwistTubsSide::DistanceToSurface(), G4TwistTubsFlatSide::GetAreaCode(), and G4TwistTubsHypeSide::GetAreaCodeInPhi().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4VTwistSurface::ComputeGlobalDirection ( const G4ThreeVector lp) const
inline

Referenced by G4TwistTrapFlatSide::GetNormal(), G4TwistTrapAlphaSide::GetNormal(), G4TwistTrapParallelSide::GetNormal(), G4TwistBoxSide::GetNormal(), G4TwistTubsFlatSide::GetNormal(), G4TwistTubsSide::GetNormal(), G4TwistTubsHypeSide::GetNormal(), and IsSameBoundary().

+ Here is the caller graph for this function:

G4ThreeVector G4VTwistSurface::ComputeGlobalPoint ( const G4ThreeVector lp) const
inline
G4ThreeVector G4VTwistSurface::ComputeLocalDirection ( const G4ThreeVector gp) const
inline
void G4VTwistSurface::DebugPrint ( ) const

Definition at line 1091 of file G4VTwistSurface.cc.

References A(), B(), C(), D(), fAxis, fAxisMax, fAxisMin, fName, fRot, fTrans, G4cout, G4endl, GetCorner(), sC0Max1Max, sC0Max1Min, sC0Min1Max, and sC0Min1Min.

+ Here is the call graph for this function:

G4double G4VTwistSurface::DistanceTo ( const G4ThreeVector gp,
G4ThreeVector gxx 
)
virtual

Definition at line 553 of file G4VTwistSurface.cc.

References DistanceToSurface(), fName, G4cout, G4endl, G4VSURFACENXX, kInfinity, and sOutside.

Referenced by G4VTwistedFaceted::DistanceToIn(), G4TwistedTubs::DistanceToIn(), G4VTwistedFaceted::DistanceToOut(), G4TwistedTubs::DistanceToOut(), G4VTwistedFaceted::SurfaceNormal(), and G4TwistedTubs::SurfaceNormal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToBoundary ( G4int  areacode,
G4ThreeVector xx,
const G4ThreeVector p 
)
virtual

Definition at line 238 of file G4VTwistSurface.cc.

References DistanceToLine(), FatalException, G4endl, G4Exception(), GetBoundaryParameters(), IsAxis0(), IsAxis1(), kInfinity, and sAxisPhi.

Referenced by G4TwistTubsSide::DistanceToSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToIn ( const G4ThreeVector gp,
const G4ThreeVector gv,
G4ThreeVector gxxbest 
)
virtual

Definition at line 289 of file G4VTwistSurface.cc.

References DistanceToSurface(), fName, G4cout, G4endl, G4VSURFACENXX, GetNeighbours(), GetNormal(), IsInside(), IsSameBoundary(), kInfinity, kValidateWithTol, CLHEP::normal(), and sOutside.

Referenced by G4VTwistedFaceted::DistanceToIn(), and G4TwistedTubs::DistanceToIn().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToLine ( const G4ThreeVector p,
const G4ThreeVector x0,
const G4ThreeVector d,
G4ThreeVector xx 
)
inline

Referenced by DistanceToBoundary(), G4TwistTubsSide::DistanceToSurface(), and G4TwistTubsHypeSide::DistanceToSurface().

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToOut ( const G4ThreeVector gp,
const G4ThreeVector gv,
G4ThreeVector gxxbest 
)
virtual

Definition at line 478 of file G4VTwistSurface.cc.

References DistanceToSurface(), fName, G4cout, G4endl, G4VSURFACENXX, GetNormal(), kInfinity, kValidateWithTol, CLHEP::normal(), and sOutside.

Referenced by G4VTwistedFaceted::DistanceToOut(), and G4TwistedTubs::DistanceToOut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToPlane ( const G4ThreeVector p,
const G4ThreeVector x0,
const G4ThreeVector n0,
G4ThreeVector xx 
)
inline

Referenced by G4TwistTubsSide::DistanceToPlane(), G4TwistTrapAlphaSide::DistanceToSurface(), G4TwistBoxSide::DistanceToSurface(), G4TwistTrapParallelSide::DistanceToSurface(), and G4TwistTubsSide::DistanceToSurface().

+ Here is the caller graph for this function:

G4double G4VTwistSurface::DistanceToPlane ( const G4ThreeVector p,
const G4ThreeVector x0,
const G4ThreeVector t1,
const G4ThreeVector t2,
G4ThreeVector xx,
G4ThreeVector n 
)
inline
G4double G4VTwistSurface::DistanceToPlaneWithV ( const G4ThreeVector p,
const G4ThreeVector v,
const G4ThreeVector x0,
const G4ThreeVector n0,
G4ThreeVector xx 
)
inline

Referenced by G4TwistBoxSide::DistanceToSurface(), G4TwistTrapAlphaSide::DistanceToSurface(), G4TwistTrapParallelSide::DistanceToSurface(), and G4TwistTubsSide::DistanceToSurface().

+ Here is the caller graph for this function:

virtual G4int G4VTwistSurface::DistanceToSurface ( const G4ThreeVector gp,
const G4ThreeVector gv,
G4ThreeVector  gxx[],
G4double  distance[],
G4int  areacode[],
G4bool  isvalid[],
EValidate  validate = kValidateWithTol 
)
pure virtual

Implemented in G4TwistTubsHypeSide, G4TwistTubsSide, G4TwistTubsFlatSide, G4TwistBoxSide, G4TwistTrapAlphaSide, G4TwistTrapParallelSide, and G4TwistTrapFlatSide.

Referenced by DistanceTo(), DistanceToIn(), and DistanceToOut().

+ Here is the caller graph for this function:

virtual G4int G4VTwistSurface::DistanceToSurface ( const G4ThreeVector gp,
G4ThreeVector  gxx[],
G4double  distance[],
G4int  areacode[] 
)
pure virtual
virtual G4int G4VTwistSurface::GetAreaCode ( const G4ThreeVector xx,
G4bool  withtol = true 
)
protectedpure virtual
G4int G4VTwistSurface::GetAxisType ( G4int  areacode,
G4int  whichaxis 
) const
inline
G4ThreeVector G4VTwistSurface::GetBoundaryAtPZ ( G4int  areacode,
const G4ThreeVector p 
) const
virtual

Definition at line 675 of file G4VTwistSurface.cc.

References FatalException, fBoundaries, G4endl, G4Exception(), GetBoundaryParameters(), sAxis0, sAxis1, sAxisPhi, and sAxisRho.

Referenced by G4TwistTubsSide::DistanceToSurface(), G4TwistTubsHypeSide::GetAreaCodeInPhi(), G4TwistTubsHypeSide::GetBoundaryMax(), and G4TwistTubsHypeSide::GetBoundaryMin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VTwistSurface::GetBoundaryAxis ( G4int  areacode,
EAxis  axis[] 
) const
protected

Definition at line 753 of file G4VTwistSurface.cc.

References FatalException, G4endl, G4Exception(), kPhi, kRho, kXAxis, kYAxis, kZAxis, sAxis0, sAxis1, sAxisMask, sAxisPhi, sAxisRho, sAxisX, sAxisY, sAxisZ, and sBoundary.

+ Here is the call graph for this function:

void G4VTwistSurface::GetBoundaryLimit ( G4int  areacode,
G4double  limit[] 
) const
protected

Definition at line 796 of file G4VTwistSurface.cc.

References fAxisMax, fAxisMin, G4endl, G4Exception(), JustWarning, sAxis0, sAxis1, sAxisMax, sAxisMin, sBoundary, sC0Max1Max, sC0Max1Min, sC0Min1Max, sC0Min1Min, and sCorner.

+ Here is the call graph for this function:

virtual G4double G4VTwistSurface::GetBoundaryMax ( G4double  )
pure virtual

Implemented in G4TwistTrapAlphaSide, G4TwistTubsHypeSide, G4TwistBoxSide, G4TwistTrapParallelSide, G4TwistTubsSide, G4TwistTubsFlatSide, and G4TwistTrapFlatSide.

Referenced by G4VTwistedFaceted::GetPointOnSurface(), and G4TwistedTubs::GetPointOnSurface().

+ Here is the caller graph for this function:

virtual G4double G4VTwistSurface::GetBoundaryMin ( G4double  )
pure virtual

Implemented in G4TwistTrapAlphaSide, G4TwistTubsHypeSide, G4TwistBoxSide, G4TwistTrapParallelSide, G4TwistTubsSide, G4TwistTubsFlatSide, and G4TwistTrapFlatSide.

Referenced by G4VTwistedFaceted::GetPointOnSurface(), and G4TwistedTubs::GetPointOnSurface().

+ Here is the caller graph for this function:

void G4VTwistSurface::GetBoundaryParameters ( const G4int areacode,
G4ThreeVector d,
G4ThreeVector x0,
G4int boundarytype 
) const
virtual

Definition at line 646 of file G4VTwistSurface.cc.

References FatalException, fBoundaries, G4endl, and G4Exception().

Referenced by DistanceToBoundary(), G4TwistTubsSide::DistanceToSurface(), GetBoundaryAtPZ(), and IsSameBoundary().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VTwistSurface::GetEdgeVisibility ( G4int  i,
G4int  j,
G4int  m,
G4int  n,
G4int  number,
G4int  orientation 
)

Definition at line 987 of file G4VTwistSurface.cc.

References FatalException, G4Exception(), and GetName().

Referenced by G4TwistTrapFlatSide::GetFacets(), G4TwistTubsFlatSide::GetFacets(), G4TwistTubsSide::GetFacets(), G4TwistTrapParallelSide::GetFacets(), G4TwistBoxSide::GetFacets(), G4TwistTubsHypeSide::GetFacets(), and G4TwistTrapAlphaSide::GetFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VTwistSurface::GetFace ( G4int  i,
G4int  j,
G4int  m,
G4int  n,
G4int  iside 
)

Definition at line 873 of file G4VTwistSurface.cc.

References FatalException, G4endl, G4Exception(), and GetName().

Referenced by G4TwistTrapFlatSide::GetFacets(), G4TwistTubsFlatSide::GetFacets(), G4TwistTubsSide::GetFacets(), G4TwistTrapParallelSide::GetFacets(), G4TwistBoxSide::GetFacets(), G4TwistTubsHypeSide::GetFacets(), and G4TwistTrapAlphaSide::GetFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implemented in G4TwistTrapAlphaSide, G4TwistTubsHypeSide, G4TwistBoxSide, G4TwistTrapParallelSide, G4TwistTubsSide, G4TwistTubsFlatSide, and G4TwistTrapFlatSide.

Referenced by G4VTwistedFaceted::CreatePolyhedron(), and G4TwistedTubs::CreatePolyhedron().

+ Here is the caller graph for this function:

virtual G4String G4VTwistSurface::GetName ( void  ) const
inlinevirtual

Definition at line 119 of file G4VTwistSurface.hh.

References fName.

Referenced by G4TwistTrapFlatSide::DistanceToSurface(), G4TwistTubsFlatSide::DistanceToSurface(), G4TwistBoxSide::G4TwistBoxSide(), GetEdgeVisibility(), GetFace(), GetNode(), and G4TwistTubsHypeSide::Inside().

+ Here is the caller graph for this function:

G4VTwistSurface** G4VTwistSurface::GetNeighbours ( )
inlineprotected

Definition at line 195 of file G4VTwistSurface.hh.

References fNeighbours.

Referenced by DistanceToIn().

+ Here is the caller graph for this function:

G4int G4VTwistSurface::GetNeighbours ( G4int  areacode,
G4VTwistSurface surfaces[] 
)
inlineprotected
G4int G4VTwistSurface::GetNode ( G4int  i,
G4int  j,
G4int  m,
G4int  n,
G4int  iside 
)

Definition at line 922 of file G4VTwistSurface.cc.

References FatalException, G4endl, G4Exception(), and GetName().

Referenced by G4TwistTrapFlatSide::GetFacets(), G4TwistTubsFlatSide::GetFacets(), G4TwistTubsSide::GetFacets(), G4TwistTrapParallelSide::GetFacets(), G4TwistBoxSide::GetFacets(), G4TwistTubsHypeSide::GetFacets(), and G4TwistTrapAlphaSide::GetFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4ThreeVector G4VTwistSurface::GetNormal ( const G4ThreeVector xx,
G4bool  isGlobal 
)
pure virtual

Implemented in G4TwistTubsHypeSide, G4TwistTubsSide, G4TwistTubsFlatSide, G4TwistBoxSide, G4TwistTrapAlphaSide, G4TwistTrapParallelSide, and G4TwistTrapFlatSide.

Referenced by DistanceToIn(), DistanceToOut(), G4VTwistedFaceted::DistanceToOut(), G4TwistedTubs::DistanceToOut(), G4VTwistedFaceted::SurfaceNormal(), and G4TwistedTubs::SurfaceNormal().

+ Here is the caller graph for this function:

virtual G4double G4VTwistSurface::GetSurfaceArea ( )
pure virtual

Implemented in G4TwistTrapAlphaSide, G4TwistTubsHypeSide, G4TwistBoxSide, G4TwistTrapParallelSide, G4TwistTubsSide, G4TwistTubsFlatSide, and G4TwistTrapFlatSide.

Referenced by G4VTwistedFaceted::GetPointOnSurface(), and G4TwistedTubs::GetPointOnSurface().

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsAxis0 ( G4int  areacode) const
inline

Referenced by DistanceToBoundary().

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsAxis1 ( G4int  areacode) const
inline

Referenced by DistanceToBoundary().

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsBoundary ( G4int  areacode,
G4bool  testbitmode = false 
) const
inline

Referenced by G4TwistTubsHypeSide::Inside(), and IsSameBoundary().

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsCorner ( G4int  areacode,
G4bool  testbitmode = false 
) const
inline

Referenced by IsSameBoundary().

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsInside ( G4int  areacode,
G4bool  testbitmode = false 
) const
inline
G4bool G4VTwistSurface::IsOutside ( G4int  areacode) const
inline
G4bool G4VTwistSurface::IsSameBoundary ( G4VTwistSurface surface1,
G4int  areacode1,
G4VTwistSurface surface2,
G4int  areacode2 
) const

Definition at line 591 of file G4VTwistSurface.cc.

References ComputeGlobalDirection(), ComputeGlobalPoint(), d1, d2, GetBoundaryParameters(), GetCorner(), IsBoundary(), IsCorner(), and kCarTolerance.

Referenced by DistanceToIn().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4VTwistSurface::IsValidNorm ( ) const
inline

Definition at line 156 of file G4VTwistSurface.hh.

References fIsValidNorm.

Referenced by G4VTwistedFaceted::DistanceToOut(), and G4TwistedTubs::DistanceToOut().

+ Here is the caller graph for this function:

void G4VTwistSurface::SetAxis ( G4int  i,
const EAxis  axis 
)
inline

Definition at line 168 of file G4VTwistSurface.hh.

References fAxis.

virtual void G4VTwistSurface::SetBoundaries ( )
privatepure virtual
void G4VTwistSurface::SetBoundary ( const G4int axiscode,
const G4ThreeVector direction,
const G4ThreeVector x0,
const G4int boundarytype 
)
protectedvirtual

Definition at line 834 of file G4VTwistSurface.cc.

References FatalException, fBoundaries, G4endl, G4Exception(), sAxis0, sAxis1, sAxisMask, sAxisMax, sAxisMin, and G4VTwistSurface::Boundary::SetFields().

Referenced by G4TwistBoxSide::SetBoundaries(), G4TwistTrapParallelSide::SetBoundaries(), G4TwistTrapAlphaSide::SetBoundaries(), G4TwistTrapFlatSide::SetBoundaries(), G4TwistTubsFlatSide::SetBoundaries(), G4TwistTubsHypeSide::SetBoundaries(), and G4TwistTubsSide::SetBoundaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VTwistSurface::SetCorner ( G4int  areacode,
G4double  x,
G4double  y,
G4double  z 
)
protected

Definition at line 729 of file G4VTwistSurface.cc.

References FatalException, fCorners, G4endl, G4Exception(), sC0Max1Max, sC0Max1Min, sC0Min1Max, sC0Min1Min, and sCorner.

Referenced by G4TwistBoxSide::SetCorners(), G4TwistTrapParallelSide::SetCorners(), G4TwistTrapAlphaSide::SetCorners(), G4TwistTrapFlatSide::SetCorners(), G4TwistTubsFlatSide::SetCorners(), G4TwistTubsHypeSide::SetCorners(), and G4TwistTubsSide::SetCorners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void G4VTwistSurface::SetCorners ( )
privatepure virtual
void G4VTwistSurface::SetNeighbours ( G4VTwistSurface axis0min,
G4VTwistSurface axis1min,
G4VTwistSurface axis0max,
G4VTwistSurface axis1max 
)
inline

Referenced by G4VTwistedFaceted::CreateSurfaces(), and G4TwistedTubs::CreateSurfaces().

+ Here is the caller graph for this function:

virtual G4ThreeVector G4VTwistSurface::SurfacePoint ( G4double  ,
G4double  ,
G4bool  isGlobal = false 
)
pure virtual

Implemented in G4TwistTrapAlphaSide, G4TwistTubsHypeSide, G4TwistBoxSide, G4TwistTrapParallelSide, G4TwistTubsSide, G4TwistTubsFlatSide, and G4TwistTrapFlatSide.

Referenced by G4VTwistedFaceted::GetPointOnSurface(), and G4TwistedTubs::GetPointOnSurface().

+ Here is the caller graph for this function:

Member Data Documentation

G4SurfSideQuery G4VTwistSurface::fAmIOnLeftSide
private

Definition at line 354 of file G4VTwistSurface.hh.

Referenced by AmIOnLeftSide(), and G4VTwistSurface().

Boundary G4VTwistSurface::fBoundaries[4]
private

Definition at line 343 of file G4VTwistSurface.hh.

Referenced by GetBoundaryAtPZ(), GetBoundaryParameters(), and SetBoundary().

G4ThreeVector G4VTwistSurface::fCorners[4]
private

Definition at line 342 of file G4VTwistSurface.hh.

Referenced by G4VTwistSurface(), and SetCorner().

G4String G4VTwistSurface::fName
private
G4VTwistSurface* G4VTwistSurface::fNeighbours[4]
private

Definition at line 340 of file G4VTwistSurface.hh.

Referenced by G4VTwistSurface(), and GetNeighbours().

const G4int G4VTwistSurface::sAreaMask = 0XF0000000
static

Definition at line 247 of file G4VTwistSurface.hh.

const G4int G4VTwistSurface::sAxisMask = 0x0000FCFC
static

Definition at line 246 of file G4VTwistSurface.hh.

Referenced by GetBoundaryAxis(), and SetBoundary().

const G4int G4VTwistSurface::sAxisRho = 0x00001010
static
const G4int G4VTwistSurface::sSizeMask = 0x00000303
static

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