Geant4-11
|
#include <G4PolyhedraSide.hh>
Data Structures | |
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 | |
G4int | ClosestPhiSegment (G4double phi) |
void | CopyStuff (const G4PolyhedraSide &source) |
G4double | DistanceAway (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist) |
G4double | DistanceToOneSide (const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist) |
G4double | GetPhi (const G4ThreeVector &p) |
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 | PhiSegment (G4double phi) |
Protected Attributes | |
G4bool | allBehind = false |
G4IntersectingCone * | cone = nullptr |
G4double | deltaPhi |
G4double | edgeNorm |
G4PolyhedraSideEdge * | edges = nullptr |
G4double | endPhi |
G4double | lenPhi [2] |
G4double | lenRZ |
G4int | numSide = 0 |
G4bool | phiIsOpen = false |
G4double | r [2] |
G4double | startPhi |
G4PolyhedraSideVec * | vecs = nullptr |
G4double | z [2] |
Private Attributes | |
G4double | fSurfaceArea = 0.0 |
G4int | instanceID |
G4double | kCarTolerance |
Static Private Attributes | |
static G4GEOM_DLL G4PhSideManager | subInstanceManager |
Friends | |
struct | sG4PolyhedraSideVec |
Definition 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.
References allBehind, 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, 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 |
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSide & | source | ) |
Definition at line 328 of file G4PolyhedraSide.cc.
References CopyStuff(), G4GeomSplitter< T >::CreateSubInstance(), instanceID, and subInstanceManager.
G4PolyhedraSide::G4PolyhedraSide | ( | __void__ & | ) |
|
virtual |
Implements G4VCSGface.
Definition at line 704 of file G4PolyhedraSide.cc.
References G4SolidExtentList::AddSurface(), G4ClippablePolygon::AddVertexInOrder(), G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4ClippablePolygon::PartialClip(), G4ClippablePolygon::SetNormal(), G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and vecs.
|
inlinevirtual |
Implements G4VCSGface.
Definition at line 124 of file G4PolyhedraSide.hh.
References G4PolyhedraSide().
Definition at line 910 of file G4PolyhedraSide.cc.
References d1, d2, endPhi, numSide, PhiSegment(), startPhi, and twopi.
Referenced by Distance(), Inside(), and Normal().
|
protected |
Definition 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.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, ClosestPhiSegment(), DistanceAway(), CLHEP::Hep3Vector::dot(), GetPhi(), kCarTolerance, kInfinity, CLHEP::normal(), and vecs.
|
protected |
Definition at line 1024 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 1002 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, DistanceAway(), CLHEP::Hep3Vector::dot(), and G4PolyhedraSide::sG4PolyhedraSideVec::normal.
|
virtual |
Implements G4VCSGface.
Definition at line 646 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 |
|
protected |
Definition at line 976 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 1242 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, G4UniformRand, GetPointOnPlane(), numSide, and vecs.
G4ThreeVector G4PolyhedraSide::GetPointOnPlane | ( | G4ThreeVector | p0, |
G4ThreeVector | p1, | ||
G4ThreeVector | p2, | ||
G4ThreeVector | p3, | ||
G4double * | Area | ||
) |
Definition at line 1189 of file G4PolyhedraSide.cc.
References G4UniformRand, and SurfaceTriangle().
Referenced by GetPointOnFace(), and SurfaceArea().
|
static |
Definition at line 56 of file G4PolyhedraSide.cc.
References subInstanceManager.
Referenced by G4SolidsWorkspace::G4SolidsWorkspace().
|
virtual |
Implements G4VCSGface.
Definition at line 600 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), kInside, kOutside, kSurface, and vecs.
|
virtual |
Implements G4VCSGface.
Definition at line 449 of file G4PolyhedraSide.cc.
References allBehind, G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, kInfinity, lenPhi, lenRZ, CLHEP::normal(), G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4InuclParticleNames::pp, ps, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, and vecs.
|
protected |
Definition at line 773 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, r, and G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ.
|
protected |
Definition at line 866 of file G4PolyhedraSide.cc.
References cone, G4IntersectingCone::LineHitsCone(), CLHEP::detail::n, PhiSegment(), CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().
|
virtual |
Implements G4VCSGface.
Definition at line 627 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), G4PolyhedraSide::sG4PolyhedraSideVec::normal, and vecs.
G4PolyhedraSide & G4PolyhedraSide::operator= | ( | const G4PolyhedraSide & | source | ) |
Definition at line 938 of file G4PolyhedraSide.cc.
References deltaPhi, numSide, phiIsOpen, startPhi, and twopi.
Referenced by ClosestPhiSegment(), Extent(), and LineHitsSegments().
|
virtual |
Implements G4VCSGface.
Definition at line 1209 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, fSurfaceArea, GetPointOnPlane(), numSide, and vecs.
G4double G4PolyhedraSide::SurfaceTriangle | ( | G4ThreeVector | p1, |
G4ThreeVector | p2, | ||
G4ThreeVector | p3, | ||
G4ThreeVector * | p4 | ||
) |
Definition at line 1168 of file G4PolyhedraSide.cc.
References CLHEP::Hep3Vector::cross(), and G4UniformRand.
Referenced by GetPointOnPlane().
|
friend |
Definition at line 157 of file G4PolyhedraSide.hh.
|
protected |
Definition at line 214 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 216 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Extent(), G4PolyhedraSide(), LineHitsSegments(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 211 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 222 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), and G4PolyhedraSide().
|
protected |
Definition at line 219 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 212 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), and G4PolyhedraSide().
|
private |
Definition at line 227 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), and SurfaceArea().
|
private |
Definition at line 229 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetInstanceID().
|
private |
Definition at line 226 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Distance(), and G4PolyhedraSide().
|
protected |
Definition at line 221 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 208 of file G4PolyhedraSide.hh.
Referenced by CalculateExtent(), ClosestPhiSegment(), CopyStuff(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Intersect(), PhiSegment(), and SurfaceArea().
|
protected |
Definition at line 213 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 209 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 210 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
staticprivate |
Definition at line 231 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetSubInstanceManager().
|
protected |
Definition 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.
Referenced by CopyStuff(), mcscore.MCVertex::dump_vertex(), G4PolyhedraSide(), and mcscore.MCVertex::printout().