Geant4  10.03
G4TriangularFacet Class Reference

#include <G4TriangularFacet.hh>

+ Inheritance diagram for G4TriangularFacet:
+ Collaboration diagram for G4TriangularFacet:

Public Member Functions

 G4TriangularFacet ()
 
 ~G4TriangularFacet ()
 
 G4TriangularFacet (const G4ThreeVector &vt0, const G4ThreeVector &vt1, const G4ThreeVector &vt2, G4FacetVertexType)
 
 G4TriangularFacet (const G4TriangularFacet &right)
 
G4TriangularFacetoperator= (const G4TriangularFacet &right)
 
G4VFacetGetClone ()
 
G4TriangularFacetGetFlippedFacet ()
 
G4ThreeVector Distance (const G4ThreeVector &p)
 
G4double Distance (const G4ThreeVector &p, G4double minDist)
 
G4double Distance (const G4ThreeVector &p, G4double minDist, const G4bool outgoing)
 
G4double Extent (const G4ThreeVector axis)
 
G4bool Intersect (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool outgoing, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal)
 
G4double GetArea () const
 
G4ThreeVector GetPointOnFace () const
 
G4ThreeVector GetSurfaceNormal () const
 
void SetSurfaceNormal (G4ThreeVector normal)
 
G4GeometryType GetEntityType () const
 
G4bool IsDefined () const
 
G4int GetNumberOfVertices () const
 
G4ThreeVector GetVertex (G4int i) const
 
void SetVertex (G4int i, const G4ThreeVector &val)
 
G4ThreeVector GetCircumcentre () const
 
G4double GetRadius () const
 
G4int AllocatedMemory ()
 
G4int GetVertexIndex (G4int i) const
 
void SetVertexIndex (G4int i, G4int j)
 
void SetVertices (std::vector< G4ThreeVector > *v)
 
- Public Member Functions inherited from G4VFacet
virtual ~G4VFacet ()
 
G4bool operator== (const G4VFacet &right) const
 
void ApplyTranslation (const G4ThreeVector v)
 
std::ostream & StreamInfo (std::ostream &os) const
 
G4bool IsInside (const G4ThreeVector &p) const
 

Private Member Functions

void CopyFrom (const G4TriangularFacet &rhs)
 

Private Attributes

G4ThreeVector fSurfaceNormal
 
G4double fArea
 
G4ThreeVector fCircumcentre
 
G4double fRadius
 
G4int fIndices [3]
 
std::vector< G4ThreeVector > * fVertices
 
G4double fA
 
G4double fB
 
G4double fC
 
G4double fDet
 
G4double fSqrDist
 
G4ThreeVector fE1
 
G4ThreeVector fE2
 
G4bool fIsDefined
 

Additional Inherited Members

- Static Protected Attributes inherited from G4VFacet
static const G4double dirTolerance = 1.0E-14
 
static const G4double kCarTolerance
 

Detailed Description

Definition at line 65 of file G4TriangularFacet.hh.

Constructor & Destructor Documentation

G4TriangularFacet::G4TriangularFacet ( )

Definition at line 167 of file G4TriangularFacet.cc.

References fA, fArea, fB, fC, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, and SetVertex().

Referenced by GetClone(), and GetFlippedFacet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4TriangularFacet::~G4TriangularFacet ( )

Definition at line 187 of file G4TriangularFacet.cc.

References SetVertices().

+ Here is the call graph for this function:

G4TriangularFacet::G4TriangularFacet ( const G4ThreeVector vt0,
const G4ThreeVector vt1,
const G4ThreeVector vt2,
G4FacetVertexType  vertexType 
)

Definition at line 79 of file G4TriangularFacet.cc.

References ABSOLUTE, fA, fArea, fB, fC, fCircumcentre, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, G4endl, G4Exception(), GetVertex(), JustWarning, G4VFacet::kCarTolerance, G4INCL::Math::max(), and SetVertex().

+ Here is the call graph for this function:

G4TriangularFacet::G4TriangularFacet ( const G4TriangularFacet right)

Definition at line 208 of file G4TriangularFacet.cc.

References CopyFrom().

+ Here is the call graph for this function:

Member Function Documentation

G4int G4TriangularFacet::AllocatedMemory ( )
inlinevirtual

Implements G4VFacet.

Definition at line 165 of file G4TriangularFacet.hh.

References GetNumberOfVertices().

Referenced by G4QuadrangularFacet::AllocatedMemory().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4TriangularFacet::CopyFrom ( const G4TriangularFacet rhs)
private

Definition at line 194 of file G4TriangularFacet.cc.

References fIndices, and fVertices.

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

+ Here is the caller graph for this function:

G4ThreeVector G4TriangularFacet::Distance ( const G4ThreeVector p)

Definition at line 268 of file G4TriangularFacet.cc.

References D(), fA, fB, fC, fDet, fE1, fE2, fSqrDist, and GetVertex().

Referenced by Distance(), G4QuadrangularFacet::Distance(), and Intersect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TriangularFacet::Distance ( const G4ThreeVector p,
G4double  minDist 
)
virtual

Implements G4VFacet.

Definition at line 452 of file G4TriangularFacet.cc.

References Distance(), fCircumcentre, fRadius, and kInfinity.

+ Here is the call graph for this function:

G4double G4TriangularFacet::Distance ( const G4ThreeVector p,
G4double  minDist,
const G4bool  outgoing 
)
virtual

Implements G4VFacet.

Definition at line 487 of file G4TriangularFacet.cc.

References Distance(), fCircumcentre, fRadius, fSqrDist, fSurfaceNormal, G4VFacet::kCarTolerance, and kInfinity.

+ Here is the call graph for this function:

G4double G4TriangularFacet::Extent ( const G4ThreeVector  axis)
virtual

Implements G4VFacet.

Definition at line 528 of file G4TriangularFacet.cc.

References GetVertex(), and G4InuclParticleNames::sp.

+ Here is the call graph for this function:

G4double G4TriangularFacet::GetArea ( ) const
virtual

Implements G4VFacet.

Definition at line 771 of file G4TriangularFacet.cc.

References fArea.

Referenced by G4QuadrangularFacet::GetArea(), and G4QuadrangularFacet::GetPointOnFace().

+ Here is the caller graph for this function:

G4ThreeVector G4TriangularFacet::GetCircumcentre ( ) const
inlinevirtual

Implements G4VFacet.

Definition at line 155 of file G4TriangularFacet.hh.

References fCircumcentre.

G4VFacet * G4TriangularFacet::GetClone ( )
virtual

Implements G4VFacet.

Definition at line 233 of file G4TriangularFacet.cc.

References ABSOLUTE, G4TriangularFacet(), and GetVertex().

+ Here is the call graph for this function:

G4GeometryType G4TriangularFacet::GetEntityType ( ) const
virtual

Implements G4VFacet.

Definition at line 778 of file G4TriangularFacet.cc.

G4TriangularFacet * G4TriangularFacet::GetFlippedFacet ( )

Definition at line 247 of file G4TriangularFacet.cc.

References ABSOLUTE, G4TriangularFacet(), and GetVertex().

+ Here is the call graph for this function:

G4int G4TriangularFacet::GetNumberOfVertices ( ) const
inlinevirtual

Implements G4VFacet.

Definition at line 139 of file G4TriangularFacet.hh.

Referenced by AllocatedMemory().

+ Here is the caller graph for this function:

G4ThreeVector G4TriangularFacet::GetPointOnFace ( ) const
virtual

Implements G4VFacet.

Definition at line 757 of file G4TriangularFacet.cc.

References fE1, fE2, G4UniformRand, and GetVertex().

Referenced by G4QuadrangularFacet::GetPointOnFace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4TriangularFacet::GetRadius ( ) const
inlinevirtual

Implements G4VFacet.

Definition at line 160 of file G4TriangularFacet.hh.

References fRadius.

G4ThreeVector G4TriangularFacet::GetSurfaceNormal ( ) const
virtual

Implements G4VFacet.

Definition at line 785 of file G4TriangularFacet.cc.

References fSurfaceNormal.

Referenced by G4QuadrangularFacet::GetSurfaceNormal().

+ Here is the caller graph for this function:

G4ThreeVector G4TriangularFacet::GetVertex ( G4int  i) const
inlinevirtual

Implements G4VFacet.

Definition at line 144 of file G4TriangularFacet.hh.

References fIndices.

Referenced by Distance(), Extent(), G4TriangularFacet(), GetClone(), GetFlippedFacet(), GetPointOnFace(), G4QuadrangularFacet::GetVertex(), and Intersect().

+ Here is the caller graph for this function:

G4int G4TriangularFacet::GetVertexIndex ( G4int  i) const
inlinevirtual

Implements G4VFacet.

Definition at line 172 of file G4TriangularFacet.hh.

References fIndices.

Referenced by G4QuadrangularFacet::GetVertexIndex().

+ Here is the caller graph for this function:

G4bool G4TriangularFacet::Intersect ( const G4ThreeVector p,
const G4ThreeVector v,
const G4bool  outgoing,
G4double distance,
G4double distFromSurface,
G4ThreeVector normal 
)
virtual

Implements G4VFacet.

Definition at line 565 of file G4TriangularFacet.cc.

References D(), DBL_EPSILON, G4VFacet::dirTolerance, Distance(), fA, fB, fC, fDet, fE1, fE2, fSqrDist, fSurfaceNormal, GetVertex(), G4TessellatedGeometryAlgorithms::IntersectLineAndTriangle2D(), G4VFacet::kCarTolerance, kInfinity, G4InuclParticleNames::pp, and G4InuclParticleNames::s0.

Referenced by G4QuadrangularFacet::Intersect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4TriangularFacet::IsDefined ( ) const
inlinevirtual

Implements G4VFacet.

Definition at line 134 of file G4TriangularFacet.hh.

References fIsDefined.

Referenced by G4QuadrangularFacet::IsDefined().

+ Here is the caller graph for this function:

G4TriangularFacet & G4TriangularFacet::operator= ( const G4TriangularFacet right)

Definition at line 217 of file G4TriangularFacet.cc.

References CopyFrom(), and SetVertices().

+ Here is the call graph for this function:

void G4TriangularFacet::SetSurfaceNormal ( G4ThreeVector  normal)

Definition at line 792 of file G4TriangularFacet.cc.

References fSurfaceNormal, and CLHEP::normal().

+ Here is the call graph for this function:

void G4TriangularFacet::SetVertex ( G4int  i,
const G4ThreeVector val 
)
inlinevirtual

Implements G4VFacet.

Definition at line 150 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet(), and G4QuadrangularFacet::SetVertex().

+ Here is the caller graph for this function:

void G4TriangularFacet::SetVertexIndex ( G4int  i,
G4int  j 
)
inlinevirtual

Implements G4VFacet.

Definition at line 178 of file G4TriangularFacet.hh.

References fIndices.

Referenced by G4QuadrangularFacet::SetVertexIndex().

+ Here is the caller graph for this function:

void G4TriangularFacet::SetVertices ( std::vector< G4ThreeVector > *  v)
inlinevirtual

Implements G4VFacet.

Definition at line 183 of file G4TriangularFacet.hh.

References fIndices, and fVertices.

Referenced by operator=(), G4QuadrangularFacet::SetVertices(), and ~G4TriangularFacet().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4TriangularFacet::fA
private

Definition at line 123 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4double G4TriangularFacet::fArea
private

Definition at line 116 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet(), and GetArea().

G4double G4TriangularFacet::fB
private

Definition at line 123 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4double G4TriangularFacet::fC
private

Definition at line 123 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4ThreeVector G4TriangularFacet::fCircumcentre
private

Definition at line 117 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and GetCircumcentre().

G4double G4TriangularFacet::fDet
private

Definition at line 124 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4ThreeVector G4TriangularFacet::fE1
private

Definition at line 126 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), GetPointOnFace(), and Intersect().

G4ThreeVector G4TriangularFacet::fE2
private

Definition at line 126 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), GetPointOnFace(), and Intersect().

G4int G4TriangularFacet::fIndices[3]
private
G4bool G4TriangularFacet::fIsDefined
private

Definition at line 127 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet(), and IsDefined().

G4double G4TriangularFacet::fRadius
private

Definition at line 118 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and GetRadius().

G4double G4TriangularFacet::fSqrDist
private

Definition at line 125 of file G4TriangularFacet.hh.

Referenced by Distance(), and Intersect().

G4ThreeVector G4TriangularFacet::fSurfaceNormal
private
std::vector<G4ThreeVector>* G4TriangularFacet::fVertices
private

Definition at line 121 of file G4TriangularFacet.hh.

Referenced by CopyFrom(), G4TriangularFacet(), and SetVertices().


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