Geant4  10.01.p03
G4VTwistedFaceted Class Reference

#include <G4VTwistedFaceted.hh>

+ Inheritance diagram for G4VTwistedFaceted:
+ Collaboration diagram for G4VTwistedFaceted:

Classes

class  LastState
 
class  LastValue
 
class  LastValueWithDoubleVector
 
class  LastVector
 

Public Member Functions

 G4VTwistedFaceted (const G4String &pname, G4double PhiTwist, G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlph)
 
virtual ~G4VTwistedFaceted ()
 
virtual void ComputeDimensions (G4VPVParameterisation *, const G4int, const G4VPhysicalVolume *)
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
virtual G4double DistanceToIn (const G4ThreeVector &p) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcnorm=false, G4bool *validnorm=0, G4ThreeVector *n=0) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const
 
virtual EInside Inside (const G4ThreeVector &p) const
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
G4ThreeVector GetPointOnSurface () const
 
G4ThreeVector GetPointInSolid (G4double z) const
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
virtual G4PolyhedronCreatePolyhedron () const
 
virtual G4PolyhedronGetPolyhedron () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
G4double GetTwistAngle () const
 
G4double GetDx1 () const
 
G4double GetDx2 () const
 
G4double GetDx3 () const
 
G4double GetDx4 () const
 
G4double GetDy1 () const
 
G4double GetDy2 () const
 
G4double GetDz () const
 
G4double GetPhi () const
 
G4double GetTheta () const
 
G4double GetAlpha () const
 
G4double Xcoef (G4double u, G4double phi, G4double ftg) const
 
G4double GetValueA (G4double phi) const
 
G4double GetValueB (G4double phi) const
 
G4double GetValueD (G4double phi) const
 
virtual G4VisExtent GetExtent () const
 
virtual G4GeometryType GetEntityType () const
 
 G4VTwistedFaceted (__void__ &)
 
 G4VTwistedFaceted (const G4VTwistedFaceted &rhs)
 
G4VTwistedFacetedoperator= (const G4VTwistedFaceted &rhs)
 
- Public Member Functions inherited from G4VSolid
 G4VSolid (const G4String &name)
 
virtual ~G4VSolid ()
 
G4bool operator== (const G4VSolid &s) const
 
G4String GetName () const
 
void SetName (const G4String &name)
 
G4double GetTolerance () const
 
virtual G4VSolidClone () const
 
void DumpInfo () const
 
virtual const G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 

Protected Member Functions

G4ThreeVectorListCreateRotatedVertices (const G4AffineTransform &pTransform) const
 
- 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
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Attributes

G4bool fRebuildPolyhedron
 
G4PolyhedronfpPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Private Member Functions

void CreateSurfaces ()
 

Private Attributes

G4double fTheta
 
G4double fPhi
 
G4double fDy1
 
G4double fDx1
 
G4double fDx2
 
G4double fDy2
 
G4double fDx3
 
G4double fDx4
 
G4double fDz
 
G4double fDx
 
G4double fDy
 
G4double fAlph
 
G4double fTAlph
 
G4double fdeltaX
 
G4double fdeltaY
 
G4double fPhiTwist
 
G4VTwistSurfacefLowerEndcap
 
G4VTwistSurfacefUpperEndcap
 
G4VTwistSurfacefSide0
 
G4VTwistSurfacefSide90
 
G4VTwistSurfacefSide180
 
G4VTwistSurfacefSide270
 
G4double fCubicVolume
 
G4double fSurfaceArea
 
LastState fLastInside
 
LastVector fLastNormal
 
LastValue fLastDistanceToIn
 
LastValue fLastDistanceToOut
 
LastValueWithDoubleVector fLastDistanceToInWithV
 
LastValueWithDoubleVector fLastDistanceToOutWithV
 

Detailed Description

Definition at line 58 of file G4VTwistedFaceted.hh.

Constructor & Destructor Documentation

G4VTwistedFaceted::G4VTwistedFaceted ( const G4String pname,
G4double  PhiTwist,
G4double  pDz,
G4double  pTheta,
G4double  pPhi,
G4double  pDy1,
G4double  pDx1,
G4double  pDx2,
G4double  pDy2,
G4double  pDx3,
G4double  pDx4,
G4double  pAlph 
)

Definition at line 70 of file G4VTwistedFaceted.cc.

References cm, CreateSurfaces(), deg, fAlph, FatalErrorInArgument, fCubicVolume, fdeltaX, fdeltaY, fDx, fDx1, fDx2, fDx3, fDx4, fDy, fDy1, fDy2, fDz, fPhi, fPhiTwist, fTAlph, fTheta, G4cout, G4endl, G4Exception(), G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4VSolid::GetName(), G4VSolid::kCarTolerance, and G4INCL::Math::pi.

+ Here is the call graph for this function:

G4VTwistedFaceted::~G4VTwistedFaceted ( )
virtual

Definition at line 216 of file G4VTwistedFaceted.cc.

References fLowerEndcap, fpPolyhedron, fSide0, fSide180, fSide270, fSide90, and fUpperEndcap.

G4VTwistedFaceted::G4VTwistedFaceted ( __void__ &  a)

Definition at line 202 of file G4VTwistedFaceted.cc.

G4VTwistedFaceted::G4VTwistedFaceted ( const G4VTwistedFaceted rhs)

Definition at line 231 of file G4VTwistedFaceted.cc.

References CreateSurfaces().

+ Here is the call graph for this function:

Member Function Documentation

void G4VTwistedFaceted::ComputeDimensions ( G4VPVParameterisation ,
const G4int  ,
const G4VPhysicalVolume  
)
virtual

Reimplemented from G4VSolid.

Definition at line 288 of file G4VTwistedFaceted.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

G4Polyhedron * G4VTwistedFaceted::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1335 of file G4VTwistedFaceted.cc.

References fLowerEndcap, fPhiTwist, fSide0, fSide180, fSide270, fSide90, fUpperEndcap, G4VTwistSurface::GetFacets(), and n.

Referenced by GetPolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVectorList * G4VTwistedFaceted::CreateRotatedVertices ( const G4AffineTransform pTransform) const
protected

Definition at line 486 of file G4VTwistedFaceted.cc.

References G4VSolid::DumpInfo(), FatalException, fDx, fDy, fDz, G4Exception(), and G4AffineTransform::TransformPoint().

Referenced by CalculateExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VTwistedFaceted::CreateSurfaces ( )
private

Definition at line 1140 of file G4VTwistedFaceted.cc.

References deg, fAlph, fDx1, fDx2, fDx3, fDx4, fDy1, fDy2, fDz, fLowerEndcap, fPhi, fPhiTwist, fSide0, fSide180, fSide270, fSide90, fTheta, fUpperEndcap, G4INCL::Math::pi, and G4VTwistSurface::SetNeighbours().

Referenced by G4VTwistedFaceted(), and operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VTwistedFaceted::DescribeYourselfTo ( G4VGraphicsScene scene) const
virtual

Implements G4VSolid.

Definition at line 1119 of file G4VTwistedFaceted.cc.

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

G4double G4VTwistedFaceted::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
virtual
G4double G4VTwistedFaceted::DistanceToIn ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 778 of file G4VTwistedFaceted.cc.

References G4VTwistSurface::DistanceTo(), FatalException, fLastDistanceToIn, fLowerEndcap, fSide0, fSide180, fSide270, fSide90, fUpperEndcap, G4Exception(), Inside(), kInfinity, kInside, kOutside, kSurface, G4VTwistedFaceted::LastValue::p, and G4VTwistedFaceted::LastValue::value.

+ Here is the call graph for this function:

G4double G4VTwistedFaceted::DistanceToOut ( const G4ThreeVector p,
const G4ThreeVector v,
const G4bool  calcnorm = false,
G4bool validnorm = 0,
G4ThreeVector n = 0 
) const
virtual
G4double G4VTwistedFaceted::DistanceToOut ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 976 of file G4VTwistedFaceted.cc.

References G4VTwistSurface::DistanceTo(), G4VSolid::DumpInfo(), FatalException, fLastDistanceToOut, fLowerEndcap, fSide0, fSide180, fSide270, fSide90, fUpperEndcap, G4cout, G4endl, G4Exception(), Inside(), JustWarning, kInfinity, kInside, kOutside, kSurface, mm, G4VTwistedFaceted::LastValue::p, and G4VTwistedFaceted::LastValue::value.

+ Here is the call graph for this function:

G4double G4VTwistedFaceted::GetAlpha ( ) const
inline

Definition at line 130 of file G4VTwistedFaceted.hh.

References fAlph.

Referenced by G4TwistedTrap::GetTiltAngleAlpha().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetCubicVolume ( )
inlinevirtual

Reimplemented from G4VSolid.

Definition at line 313 of file G4VTwistedFaceted.hh.

References fCubicVolume, fDx1, fDx2, fDx3, fDx4, fDy1, fDy2, and fDz.

G4double G4VTwistedFaceted::GetDx1 ( ) const
inline

Definition at line 121 of file G4VTwistedFaceted.hh.

References fDx1.

Referenced by G4TwistedTrd::GetX1HalfLength(), G4TwistedTrap::GetX1HalfLength(), and G4TwistedBox::GetXHalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDx2 ( ) const
inline

Definition at line 122 of file G4VTwistedFaceted.hh.

References fDx2.

Referenced by G4TwistedTrap::GetX2HalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDx3 ( ) const
inline

Definition at line 123 of file G4VTwistedFaceted.hh.

References fDx3.

Referenced by G4TwistedTrd::GetX2HalfLength(), and G4TwistedTrap::GetX3HalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDx4 ( ) const
inline

Definition at line 124 of file G4VTwistedFaceted.hh.

References fDx4.

Referenced by G4TwistedTrap::GetX4HalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDy1 ( ) const
inline

Definition at line 125 of file G4VTwistedFaceted.hh.

References fDy1.

Referenced by G4TwistedTrd::GetY1HalfLength(), G4TwistedTrap::GetY1HalfLength(), and G4TwistedBox::GetYHalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDy2 ( ) const
inline

Definition at line 126 of file G4VTwistedFaceted.hh.

References fDy2.

Referenced by G4TwistedTrd::GetY2HalfLength(), and G4TwistedTrap::GetY2HalfLength().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetDz ( ) const
inline

Definition at line 127 of file G4VTwistedFaceted.hh.

References fDz.

Referenced by G4TwistedBox::GetZHalfLength(), G4TwistedTrd::GetZHalfLength(), and G4TwistedTrap::GetZHalfLength().

+ Here is the caller graph for this function:

G4GeometryType G4VTwistedFaceted::GetEntityType ( ) const
virtual

Implements G4VSolid.

Reimplemented in G4TwistedTrap, G4TwistedTrd, and G4TwistedBox.

Definition at line 1189 of file G4VTwistedFaceted.cc.

G4VisExtent G4VTwistedFaceted::GetExtent ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1127 of file G4VTwistedFaceted.cc.

References fDx, fDy, and fDz.

G4double G4VTwistedFaceted::GetPhi ( ) const
inline

Definition at line 128 of file G4VTwistedFaceted.hh.

References fPhi.

Referenced by G4TwistedTrap::GetAzimuthalAnglePhi().

+ Here is the caller graph for this function:

G4ThreeVector G4VTwistedFaceted::GetPointInSolid ( G4double  z) const

Definition at line 1219 of file G4VTwistedFaceted.cc.

References fdeltaX, fdeltaY, fDz, and fPhiTwist.

G4ThreeVector G4VTwistedFaceted::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1238 of file G4VTwistedFaceted.cc.

References a1, a2, a3, a4, a5, fDy1, fDy2, fLowerEndcap, fPhiTwist, fSide0, fSide180, fSide270, fSide90, fUpperEndcap, G4cout, G4endl, G4VTwistSurface::GetBoundaryMax(), G4VTwistSurface::GetBoundaryMin(), G4VTwistSurface::GetSurfaceArea(), G4INCL::DeJongSpin::shoot(), and G4VTwistSurface::SurfacePoint().

+ Here is the call graph for this function:

G4Polyhedron * G4VTwistedFaceted::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 1198 of file G4VTwistedFaceted.cc.

References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< M, L, U >::unlock().

Referenced by G4TwistedBox::G4TwistedBox(), G4TwistedTrap::G4TwistedTrap(), G4TwistedTrd::G4TwistedTrd(), G4TwistedBox::operator=(), G4TwistedTrd::operator=(), and G4TwistedTrap::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetSurfaceArea ( )
inlinevirtual

Reimplemented from G4VSolid.

Definition at line 322 of file G4VTwistedFaceted.hh.

References fSurfaceArea, and G4VSolid::GetSurfaceArea().

+ Here is the call graph for this function:

G4double G4VTwistedFaceted::GetTheta ( ) const
inline

Definition at line 129 of file G4VTwistedFaceted.hh.

References fTheta.

Referenced by G4TwistedTrap::GetPolarAngleTheta().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetTwistAngle ( ) const
inline

Definition at line 119 of file G4VTwistedFaceted.hh.

References fPhiTwist.

Referenced by G4TwistedBox::GetPhiTwist(), G4TwistedTrd::GetPhiTwist(), and G4TwistedTrap::GetPhiTwist().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetValueA ( G4double  phi) const
inline

Definition at line 330 of file G4VTwistedFaceted.hh.

References fDx2, fDx4, and fPhiTwist.

Referenced by Xcoef().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetValueB ( G4double  phi) const
inline

Definition at line 342 of file G4VTwistedFaceted.hh.

References fDy1, fDy2, and fPhiTwist.

Referenced by Inside(), and Xcoef().

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::GetValueD ( G4double  phi) const
inline

Definition at line 336 of file G4VTwistedFaceted.hh.

References fDx1, fDx3, and fPhiTwist.

Referenced by Xcoef().

+ Here is the caller graph for this function:

EInside G4VTwistedFaceted::Inside ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 528 of file G4VTwistedFaceted.cc.

References fAlph, fdeltaX, fdeltaY, fDx1, fDx2, fDx3, fDx4, fDy1, fDy2, fDz, fLastInside, fPhi, fPhiTwist, fTAlph, fTheta, G4cout, G4endl, GetValueB(), G4VTwistedFaceted::LastState::inside, G4VSolid::kCarTolerance, kInside, kOutside, kSurface, G4VTwistedFaceted::LastState::p, and Xcoef().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VTwistedFaceted & G4VTwistedFaceted::operator= ( const G4VTwistedFaceted rhs)

Definition at line 253 of file G4VTwistedFaceted.cc.

References CreateSurfaces(), fAlph, fCubicVolume, fdeltaX, fdeltaY, fDx, fDx1, fDx2, fDx3, fDx4, fDy, fDy1, fDy2, fDz, fLastDistanceToIn, fLastDistanceToInWithV, fLastDistanceToOut, fLastDistanceToOutWithV, fLastInside, fLastNormal, fLowerEndcap, fPhi, fPhiTwist, fpPolyhedron, fRebuildPolyhedron, fSide0, fSide180, fSide270, fSide90, fSurfaceArea, fTAlph, fTheta, fUpperEndcap, and G4VSolid::operator=().

Referenced by G4TwistedBox::operator=(), G4TwistedTrd::operator=(), and G4TwistedTrap::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::ostream & G4VTwistedFaceted::StreamInfo ( std::ostream &  os) const
virtual

Implements G4VSolid.

Reimplemented in G4TwistedTrap, G4TwistedTrd, and G4TwistedBox.

Definition at line 1082 of file G4VTwistedFaceted.cc.

References cm, degree, fAlph, fDx1, fDx2, fDx3, fDx4, fDy1, fDy2, fPhi, fPhiTwist, fTheta, G4endl, and G4VSolid::GetName().

+ Here is the call graph for this function:

G4ThreeVector G4VTwistedFaceted::SurfaceNormal ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 625 of file G4VTwistedFaceted.cc.

References G4VTwistSurface::DistanceTo(), fLastNormal, fLowerEndcap, fSide0, fSide180, fSide270, fSide90, fUpperEndcap, G4VTwistSurface::GetNormal(), kInfinity, G4VTwistedFaceted::LastVector::p, G4VTwistedFaceted::LastVector::surface, and G4VTwistedFaceted::LastVector::vec.

Referenced by DistanceToIn(), and DistanceToOut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VTwistedFaceted::Xcoef ( G4double  u,
G4double  phi,
G4double  ftg 
) const
inline

Definition at line 348 of file G4VTwistedFaceted.hh.

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

Referenced by Inside().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4VTwistedFaceted::fAlph
private
G4double G4VTwistedFaceted::fCubicVolume
private

Definition at line 201 of file G4VTwistedFaceted.hh.

Referenced by G4VTwistedFaceted(), GetCubicVolume(), and operator=().

G4double G4VTwistedFaceted::fdeltaX
private

Definition at line 188 of file G4VTwistedFaceted.hh.

Referenced by G4VTwistedFaceted(), GetPointInSolid(), Inside(), and operator=().

G4double G4VTwistedFaceted::fdeltaY
private

Definition at line 189 of file G4VTwistedFaceted.hh.

Referenced by G4VTwistedFaceted(), GetPointInSolid(), Inside(), and operator=().

G4double G4VTwistedFaceted::fDx
private
G4double G4VTwistedFaceted::fDx1
private
G4double G4VTwistedFaceted::fDx2
private
G4double G4VTwistedFaceted::fDx3
private
G4double G4VTwistedFaceted::fDx4
private
G4double G4VTwistedFaceted::fDy
private
LastValue G4VTwistedFaceted::fLastDistanceToIn
private

Definition at line 303 of file G4VTwistedFaceted.hh.

Referenced by DistanceToIn(), and operator=().

LastValueWithDoubleVector G4VTwistedFaceted::fLastDistanceToInWithV
private

Definition at line 305 of file G4VTwistedFaceted.hh.

Referenced by DistanceToIn(), and operator=().

LastValue G4VTwistedFaceted::fLastDistanceToOut
private

Definition at line 304 of file G4VTwistedFaceted.hh.

Referenced by DistanceToOut(), and operator=().

LastValueWithDoubleVector G4VTwistedFaceted::fLastDistanceToOutWithV
private

Definition at line 306 of file G4VTwistedFaceted.hh.

Referenced by DistanceToOut(), and operator=().

LastState G4VTwistedFaceted::fLastInside
private

Definition at line 301 of file G4VTwistedFaceted.hh.

Referenced by Inside(), and operator=().

LastVector G4VTwistedFaceted::fLastNormal
private

Definition at line 302 of file G4VTwistedFaceted.hh.

Referenced by DistanceToOut(), operator=(), and SurfaceNormal().

G4double G4VTwistedFaceted::fPhi
private
G4bool G4VTwistedFaceted::fRebuildPolyhedron
mutableprotected

Definition at line 160 of file G4VTwistedFaceted.hh.

Referenced by GetPolyhedron(), and operator=().

G4double G4VTwistedFaceted::fSurfaceArea
private

Definition at line 202 of file G4VTwistedFaceted.hh.

Referenced by GetSurfaceArea(), and operator=().

G4double G4VTwistedFaceted::fTAlph
private

Definition at line 186 of file G4VTwistedFaceted.hh.

Referenced by G4VTwistedFaceted(), Inside(), and operator=().

G4double G4VTwistedFaceted::fTheta
private

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