ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4TriangularFacet Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/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)
 
 G4TriangularFacet (G4TriangularFacet &&right)
 
G4TriangularFacetoperator= (const G4TriangularFacet &right)
 
G4TriangularFacetoperator= (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
 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)
 
void MoveFrom (G4TriangularFacet &rhs)
 

Private Attributes

G4ThreeVector fSurfaceNormal
 
G4double fArea = 0.0
 
G4ThreeVector fCircumcentre
 
G4double fRadius = 0.0
 
std::array< G4int, 3 > fIndices
 
std::vector< G4ThreeVector > * fVertices = nullptr
 
G4double fA
 
G4double fB
 
G4double fC
 
G4double fDet
 
G4double fSqrDist = 0.0
 
G4ThreeVector fE1
 
G4ThreeVector fE2
 
G4bool fIsDefined = false
 

Additional Inherited Members

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

Detailed Description

Definition at line 60 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 60 of file G4TriangularFacet.hh

Constructor & Destructor Documentation

G4TriangularFacet::G4TriangularFacet ( )

Definition at line 144 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 144 of file G4TriangularFacet.cc

References fA, fArea, fB, fC, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, CLHEP::Hep3Vector::set(), SetVertex(), and zero.

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 164 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 164 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 56 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 56 of file G4TriangularFacet.cc

References ABSOLUTE, CLHEP::Hep3Vector::cross(), Acts::Test::delta, CLHEP::Hep3Vector::dot(), fA, fArea, fB, fC, fCircumcentre, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, G4endl, G4Exception(), GetVertex(), JustWarning, G4VFacet::kCarTolerance, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), max, message(), CLHEP::Hep3Vector::set(), SetVertex(), and CLHEP::Hep3Vector::unit().

+ Here is the call graph for this function:

G4TriangularFacet::G4TriangularFacet ( const G4TriangularFacet right)

Definition at line 203 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 203 of file G4TriangularFacet.cc

References CopyFrom().

+ Here is the call graph for this function:

G4TriangularFacet::G4TriangularFacet ( G4TriangularFacet &&  right)

Definition at line 211 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 211 of file G4TriangularFacet.cc

References MoveFrom().

+ Here is the call graph for this function:

Member Function Documentation

G4int G4TriangularFacet::AllocatedMemory ( )
inlinevirtual

Implements G4VFacet.

Definition at line 162 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 162 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 171 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 171 of file G4TriangularFacet.cc

References field_utils::copy(), fIndices, and fVertices.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4TriangularFacet::Distance ( const G4ThreeVector p)

Definition at line 290 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 290 of file G4TriangularFacet.cc

References D(), d, denom, CLHEP::Hep3Vector::dot(), e, f, fA, fB, fC, fDet, fE1, fE2, fSqrDist, GetVertex(), CLHEP::Hep3Vector::mag2(), t, tmp1, and Acts::UnitConstants::u.

Referenced by G4QuadrangularFacet::Distance(), 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 474 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 474 of file G4TriangularFacet.cc

References Distance(), fCircumcentre, fRadius, kInfinity, and CLHEP::Hep3Vector::mag().

+ 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 509 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 509 of file G4TriangularFacet.cc

References dir, Distance(), CLHEP::Hep3Vector::dot(), fCircumcentre, fRadius, fSqrDist, fSurfaceNormal, G4VFacet::kCarTolerance, kInfinity, and v.

+ Here is the call graph for this function:

G4double G4TriangularFacet::Extent ( const G4ThreeVector  axis)
virtual

Implements G4VFacet.

Definition at line 550 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 550 of file G4TriangularFacet.cc

References CLHEP::Hep3Vector::dot(), GetVertex(), and G4InuclParticleNames::sp.

+ Here is the call graph for this function:

G4double G4TriangularFacet::GetArea ( ) const
virtual

Implements G4VFacet.

Definition at line 793 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 793 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 152 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 152 of file G4TriangularFacet.hh

References fCircumcentre.

G4VFacet * G4TriangularFacet::GetClone ( )
virtual

Implements G4VFacet.

Definition at line 255 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 255 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 800 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 800 of file G4TriangularFacet.cc

G4TriangularFacet * G4TriangularFacet::GetFlippedFacet ( )

Definition at line 269 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 269 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 136 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 136 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 779 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 779 of file G4TriangularFacet.cc

References fE1, fE2, G4UniformRand, GetVertex(), Acts::UnitConstants::u, and v.

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 157 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 157 of file G4TriangularFacet.hh

References fRadius.

G4ThreeVector G4TriangularFacet::GetSurfaceNormal ( ) const
virtual

Implements G4VFacet.

Definition at line 807 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 807 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 141 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 141 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 169 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 169 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 587 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 587 of file G4TriangularFacet.cc

References CLHEP::Hep3Vector::cross(), D(), d, DBL_EPSILON, G4VFacet::dirTolerance, Distance(), CLHEP::Hep3Vector::dot(), e, fA, fB, fC, fDet, fE1, fE2, fSqrDist, fSurfaceNormal, GetVertex(), G4TessellatedGeometryAlgorithms::IntersectLineAndTriangle2D(), G4VFacet::kCarTolerance, kInfinity, CLHEP::Hep2Vector::mag(), CLHEP::Hep3Vector::mag(), G4InuclParticleNames::pp, G4InuclParticleNames::s0, s1, CLHEP::Hep3Vector::set(), t, Acts::UnitConstants::u, CLHEP::Hep3Vector::unit(), and w.

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 131 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 131 of file G4TriangularFacet.hh

References fIsDefined.

Referenced by G4QuadrangularFacet::IsDefined().

+ Here is the caller graph for this function:

void G4TriangularFacet::MoveFrom ( G4TriangularFacet rhs)
private

Definition at line 185 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 185 of file G4TriangularFacet.cc

References fA, fArea, fB, fC, fCircumcentre, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSqrDist, fSurfaceNormal, and fVertices.

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

+ Here is the caller graph for this function:

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

Definition at line 220 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 220 of file G4TriangularFacet.cc

References CopyFrom(), fVertices, and SetVertices().

+ Here is the call graph for this function:

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

Definition at line 236 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 236 of file G4TriangularFacet.cc

References fVertices, MoveFrom(), and SetVertices().

+ Here is the call graph for this function:

void G4TriangularFacet::SetSurfaceNormal ( G4ThreeVector  normal)

Definition at line 814 of file G4TriangularFacet.cc.

View newest version in sPHENIX GitHub at line 814 of file G4TriangularFacet.cc

References fSurfaceNormal, and CLHEP::normal().

Referenced by G4QuadrangularFacet::G4QuadrangularFacet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VFacet.

Definition at line 147 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 147 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 175 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 175 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 180 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 180 of file G4TriangularFacet.hh

References fIndices, fVertices, and v.

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 120 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 120 of file G4TriangularFacet.hh

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

G4double G4TriangularFacet::fArea = 0.0
private

Definition at line 114 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 114 of file G4TriangularFacet.hh

Referenced by G4TriangularFacet(), GetArea(), and MoveFrom().

G4double G4TriangularFacet::fB
private

Definition at line 120 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 120 of file G4TriangularFacet.hh

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

G4double G4TriangularFacet::fC
private

Definition at line 120 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 120 of file G4TriangularFacet.hh

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

G4ThreeVector G4TriangularFacet::fCircumcentre
private

Definition at line 115 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 115 of file G4TriangularFacet.hh

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

G4double G4TriangularFacet::fDet
private

Definition at line 121 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 121 of file G4TriangularFacet.hh

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

G4ThreeVector G4TriangularFacet::fE1
private

Definition at line 123 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 123 of file G4TriangularFacet.hh

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

G4ThreeVector G4TriangularFacet::fE2
private

Definition at line 123 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 123 of file G4TriangularFacet.hh

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

std::array<G4int, 3> G4TriangularFacet::fIndices
private

Definition at line 117 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 117 of file G4TriangularFacet.hh

Referenced by CopyFrom(), G4TriangularFacet(), GetVertex(), GetVertexIndex(), MoveFrom(), SetVertexIndex(), and SetVertices().

G4bool G4TriangularFacet::fIsDefined = false
private

Definition at line 124 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 124 of file G4TriangularFacet.hh

Referenced by G4TriangularFacet(), IsDefined(), and MoveFrom().

G4double G4TriangularFacet::fRadius = 0.0
private

Definition at line 116 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 116 of file G4TriangularFacet.hh

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

G4double G4TriangularFacet::fSqrDist = 0.0
private

Definition at line 122 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 122 of file G4TriangularFacet.hh

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

G4ThreeVector G4TriangularFacet::fSurfaceNormal
private

Definition at line 113 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 113 of file G4TriangularFacet.hh

Referenced by Distance(), G4TriangularFacet(), GetSurfaceNormal(), Intersect(), MoveFrom(), and SetSurfaceNormal().

std::vector<G4ThreeVector>* G4TriangularFacet::fVertices = nullptr
private

Definition at line 118 of file G4TriangularFacet.hh.

View newest version in sPHENIX GitHub at line 118 of file G4TriangularFacet.hh

Referenced by CopyFrom(), G4TriangularFacet(), MoveFrom(), operator=(), and SetVertices().


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