ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/include/G4PolyhedraSide.hh>
Classes | |
struct | sG4PolyhedraSideEdge |
struct | sG4PolyhedraSideVec |
Public Types | |
typedef struct G4PolyhedraSide::sG4PolyhedraSideEdge | G4PolyhedraSideEdge |
typedef struct G4PolyhedraSide::sG4PolyhedraSideVec | G4PolyhedraSideVec |
Static Public Member Functions | |
static const G4PhSideManager & | GetSubInstanceManager () |
Protected Member Functions | |
G4bool | IntersectSidePlane (const G4ThreeVector &p, const G4ThreeVector &v, const G4PolyhedraSideVec &vec, G4double normSign, G4double surfTolerance, G4double &distance, G4double &distFromSurface) |
G4int | LineHitsSegments (const G4ThreeVector &p, const G4ThreeVector &v, G4int *i1, G4int *i2) |
G4int | ClosestPhiSegment (G4double phi) |
G4int | PhiSegment (G4double phi) |
G4double | GetPhi (const G4ThreeVector &p) |
G4double | DistanceToOneSide (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist) |
G4double | DistanceAway (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist) |
void | CopyStuff (const G4PolyhedraSide &source) |
Protected Attributes | |
G4int | numSide = 0 |
G4double | r [2] |
G4double | z [2] |
G4double | startPhi |
G4double | deltaPhi |
G4double | endPhi |
G4bool | phiIsOpen = false |
G4bool | allBehind = false |
G4IntersectingCone * | cone = nullptr |
G4PolyhedraSideVec * | vecs = nullptr |
G4PolyhedraSideEdge * | edges = nullptr |
G4double | lenRZ |
G4double | lenPhi [2] |
G4double | edgeNorm |
Private Attributes | |
G4double | kCarTolerance |
G4double | fSurfaceArea = 0.0 |
G4int | instanceID |
Static Private Attributes | |
static G4GEOM_DLL G4PhSideManager | subInstanceManager |
Friends | |
struct | sG4PolyhedraSideVec |
Definition at line 88 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 88 of file G4PolyhedraSide.hh
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSideRZ * | prevRZ, |
const G4PolyhedraSideRZ * | tail, | ||
const G4PolyhedraSideRZ * | head, | ||
const G4PolyhedraSideRZ * | nextRZ, | ||
G4int | numSide, | ||
G4double | phiStart, | ||
G4double | phiTotal, | ||
G4bool | phiIsOpen, | ||
G4bool | isAllBehind = false |
||
) |
Definition at line 66 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 66 of file G4PolyhedraSide.cc
References allBehind, c1, c2, G4PolyhedraSide::sG4PolyhedraSideVec::center, cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideEdge::cornNorm, G4GeomSplitter< T >::CreateSubInstance(), CLHEP::Hep3Vector::cross(), d1, d2, deltaPhi, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edgeNorm, edgeNorm, G4PolyhedraSide::sG4PolyhedraSideVec::edges, edges, endPhi, G4MT_phphik, G4MT_phphix, G4MT_phphiy, G4MT_phphiz, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), instanceID, kCarTolerance, lenPhi, lenRZ, CLHEP::Hep3Vector::mag(), G4PolyhedraSide::sG4PolyhedraSideEdge::normal, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, phi, phiIsOpen, G4PolyhedraSideRZ::r, r, startPhi, subInstanceManager, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, twopi, CLHEP::Hep3Vector::unit(), vecs, G4PolyhedraSideRZ::z, and z.
Referenced by Clone().
|
virtual |
Definition at line 319 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 319 of file G4PolyhedraSide.cc
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSide & | source | ) |
Definition at line 328 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 328 of file G4PolyhedraSide.cc
References CopyStuff(), G4GeomSplitter< T >::CreateSubInstance(), instanceID, and subInstanceManager.
G4PolyhedraSide::G4PolyhedraSide | ( | __void__ & | ) |
Definition at line 307 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 307 of file G4PolyhedraSide.cc
|
virtual |
Implements G4VCSGface.
Definition at line 706 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 706 of file G4PolyhedraSide.cc
References G4SolidExtentList::AddSurface(), G4ClippablePolygon::AddVertexInOrder(), G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4ClippablePolygon::PartialClip(), G4ClippablePolygon::SetNormal(), G4AffineTransform::TransformAxis(), and vecs.
|
inlinevirtual |
Implements G4VCSGface.
Definition at line 124 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 124 of file G4PolyhedraSide.hh
References G4PolyhedraSide().
Definition at line 912 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 912 of file G4PolyhedraSide.cc
References d1, d2, endPhi, numSide, phi, PhiSegment(), startPhi, and twopi.
Referenced by Distance(), Inside(), and Normal().
|
protected |
Definition at line 355 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 355 of file G4PolyhedraSide.cc
References allBehind, cone, deltaPhi, edgeNorm, G4PolyhedraSide::sG4PolyhedraSideVec::edges, edges, endPhi, fSurfaceArea, kCarTolerance, lenPhi, lenRZ, numSide, phiIsOpen, r, startPhi, vecs, and z.
Referenced by G4PolyhedraSide(), and operator=().
|
virtual |
Implements G4VCSGface.
Definition at line 569 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 569 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideVec::center, ClosestPhiSegment(), DistanceAway(), CLHEP::Hep3Vector::dot(), GetPhi(), kCarTolerance, kInfinity, CLHEP::normal(), and vecs.
|
protected |
Definition at line 1026 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1026 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideEdge::cornNorm, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edgeNorm, edgeNorm, G4PolyhedraSide::sG4PolyhedraSideVec::edges, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideEdge::normal, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, and G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ.
Referenced by Distance(), and DistanceToOneSide().
|
protected |
Definition at line 1004 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1004 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideVec::center, DistanceAway(), CLHEP::Hep3Vector::dot(), and G4PolyhedraSide::sG4PolyhedraSideVec::normal.
Referenced by Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 648 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 648 of file G4PolyhedraSide.cc
References cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, DBL_MIN, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, GetPhi(), kInfinity, numSide, CLHEP::Hep3Vector::perp2(), PhiSegment(), vecs, CLHEP::Hep3Vector::z(), G4IntersectingCone::ZHi(), and G4IntersectingCone::ZLo().
|
inline |
Definition at line 147 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 147 of file G4PolyhedraSide.hh
References instanceID.
|
protected |
Definition at line 978 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 978 of file G4PolyhedraSide.cc
References G4MT_phphik, G4MT_phphix, G4MT_phphiy, G4MT_phphiz, CLHEP::Hep3Vector::phi(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by Distance(), Extent(), Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 1244 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1244 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, G4UniformRand, GetPointOnPlane(), numSide, v1, v2, v3, v4, and vecs.
G4ThreeVector G4PolyhedraSide::GetPointOnPlane | ( | G4ThreeVector | p0, |
G4ThreeVector | p1, | ||
G4ThreeVector | p2, | ||
G4ThreeVector | p3, | ||
G4double * | Area | ||
) |
Definition at line 1191 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1191 of file G4PolyhedraSide.cc
References G4UniformRand, and SurfaceTriangle().
Referenced by GetPointOnFace(), and SurfaceArea().
|
static |
Definition at line 56 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 56 of file G4PolyhedraSide.cc
References subInstanceManager.
Referenced by G4SolidsWorkspace::G4SolidsWorkspace().
|
virtual |
Implements G4VCSGface.
Definition at line 600 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 600 of file G4PolyhedraSide.cc
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), kInside, kOutside, kSurface, norm, and vecs.
|
virtual |
Implements G4VCSGface.
Definition at line 449 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 449 of file G4PolyhedraSide.cc
References allBehind, G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, CLHEP::Hep3Vector::cross(), Acts::Test::delta, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, kInfinity, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4InuclParticleNames::pp, ps, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, v, and vecs.
|
protected |
Definition at line 775 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 775 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, CLHEP::Hep3Vector::cross(), Acts::Test::delta, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, and v.
|
protected |
Definition at line 868 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 868 of file G4PolyhedraSide.cc
References cone, G4IntersectingCone::LineHitsCone(), n, PhiSegment(), s1, CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().
|
virtual |
Implements G4VCSGface.
Definition at line 629 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 629 of file G4PolyhedraSide.cc
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), norm, G4PolyhedraSide::sG4PolyhedraSideVec::normal, and vecs.
G4PolyhedraSide & G4PolyhedraSide::operator= | ( | const G4PolyhedraSide & | source | ) |
Definition at line 340 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 340 of file G4PolyhedraSide.cc
References cone, CopyStuff(), edges, and vecs.
Definition at line 940 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 940 of file G4PolyhedraSide.cc
References deltaPhi, numSide, phi, phiIsOpen, startPhi, and twopi.
Referenced by ClosestPhiSegment(), Extent(), and LineHitsSegments().
|
virtual |
Implements G4VCSGface.
Definition at line 1211 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1211 of file G4PolyhedraSide.cc
References G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, fSurfaceArea, GetPointOnPlane(), numSide, v1, v2, v3, v4, and vecs.
G4double G4PolyhedraSide::SurfaceTriangle | ( | G4ThreeVector | p1, |
G4ThreeVector | p2, | ||
G4ThreeVector | p3, | ||
G4ThreeVector * | p4 | ||
) |
Definition at line 1170 of file G4PolyhedraSide.cc.
View newest version in sPHENIX GitHub at line 1170 of file G4PolyhedraSide.cc
References G4UniformRand, v, and w.
Referenced by GetPointOnPlane().
|
friend |
Definition at line 156 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 156 of file G4PolyhedraSide.hh
Definition at line 214 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 214 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 216 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 216 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), Extent(), G4PolyhedraSide(), LineHitsSegments(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 210 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 210 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 222 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 222 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), DistanceAway(), and G4PolyhedraSide().
|
protected |
Definition at line 219 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 219 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), G4PolyhedraSide(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 210 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 210 of file G4PolyhedraSide.hh
Referenced by ClosestPhiSegment(), CopyStuff(), and G4PolyhedraSide().
|
private |
Definition at line 227 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 227 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), and SurfaceArea().
|
private |
Definition at line 229 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 229 of file G4PolyhedraSide.hh
Referenced by G4PolyhedraSide(), and GetInstanceID().
|
private |
Definition at line 226 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 226 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), Distance(), and G4PolyhedraSide().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 220 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 220 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 208 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 208 of file G4PolyhedraSide.hh
Referenced by CalculateExtent(), ClosestPhiSegment(), CopyStuff(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Intersect(), PhiSegment(), and SurfaceArea().
Definition at line 213 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 213 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 209 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 209 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 210 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 210 of file G4PolyhedraSide.hh
Referenced by ClosestPhiSegment(), CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
staticprivate |
Definition at line 231 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 231 of file G4PolyhedraSide.hh
Referenced by G4PolyhedraSide(), and GetSubInstanceManager().
|
protected |
Definition at line 218 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 218 of file G4PolyhedraSide.hh
Referenced by CalculateExtent(), CopyStuff(), Distance(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Inside(), Intersect(), Normal(), operator=(), SurfaceArea(), and ~G4PolyhedraSide().
|
protected |
Definition at line 209 of file G4PolyhedraSide.hh.
View newest version in sPHENIX GitHub at line 209 of file G4PolyhedraSide.hh
Referenced by CopyStuff(), and G4PolyhedraSide().