Geant4
10.01.p02
|
#include <G4PolyhedraSide.hh>
Classes | |
struct | sG4PolyhedraSideEdge |
struct | sG4PolyhedraSideVec |
Static Public Member Functions | |
static const G4PhSideManager & | GetSubInstanceManager () |
Protected Types | |
typedef struct G4PolyhedraSide::sG4PolyhedraSideEdge | G4PolyhedraSideEdge |
typedef struct G4PolyhedraSide::sG4PolyhedraSideVec | G4PolyhedraSideVec |
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 |
G4double | r [2] |
G4double | z [2] |
G4double | startPhi |
G4double | deltaPhi |
G4double | endPhi |
G4bool | phiIsOpen |
G4bool | allBehind |
G4IntersectingCone * | cone |
G4PolyhedraSideVec * | vecs |
G4PolyhedraSideEdge * | edges |
G4double | lenRZ |
G4double | lenPhi [2] |
G4double | edgeNorm |
Private Attributes | |
G4double | kCarTolerance |
G4double | fSurfaceArea |
G4int | instanceID |
Static Private Attributes | |
static G4GEOM_DLL G4PhSideManager | subInstanceManager |
Friends | |
struct | sG4PolyhedraSideVec |
Definition at line 102 of file G4PolyhedraSide.hh.
|
protected |
|
protected |
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 74 of file G4PolyhedraSide.cc.
References a1, a2, allBehind, b1, b2, c1, c2, G4PolyhedraSide::sG4PolyhedraSideVec::center, cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideEdge::cornNorm, G4GeomSplitter< T >::CreateSubInstance(), d1, d2, deltaPhi, G4PolyhedraSide::sG4PolyhedraSideVec::edgeNorm, edgeNorm, G4PolyhedraSide::sG4PolyhedraSideVec::edges, edges, endPhi, fSurfaceArea, G4MT_phphi, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), instanceID, kCarTolerance, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideEdge::normal, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, phiIsOpen, G4PolyhedraSideRZ::r, r, startPhi, subInstanceManager, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, vecs, G4PolyhedraSideRZ::z, and z.
Referenced by Clone().
|
virtual |
Definition at line 331 of file G4PolyhedraSide.cc.
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSide & | source | ) |
Definition at line 342 of file G4PolyhedraSide.cc.
References CopyStuff(), G4GeomSplitter< T >::CreateSubInstance(), instanceID, and subInstanceManager.
G4PolyhedraSide::G4PolyhedraSide | ( | __void__ & | ) |
Definition at line 317 of file G4PolyhedraSide.cc.
|
virtual |
Implements G4VCSGface.
Definition at line 731 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 138 of file G4PolyhedraSide.hh.
References G4PolyhedraSide().
Definition at line 943 of file G4PolyhedraSide.cc.
References d1, d2, endPhi, numSide, PhiSegment(), and startPhi.
Referenced by Distance(), Inside(), and Normal().
|
protected |
Definition at line 371 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 586 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, ClosestPhiSegment(), DistanceAway(), GetPhi(), kCarTolerance, kInfinity, CLHEP::normal(), and vecs.
|
protected |
Definition at line 1060 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideEdge::cornNorm, 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 1036 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, DistanceAway(), and G4PolyhedraSide::sG4PolyhedraSideVec::normal.
Referenced by Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 671 of file G4PolyhedraSide.cc.
References cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, DBL_MIN, G4PolyhedraSide::sG4PolyhedraSideVec::edges, GetPhi(), kInfinity, numSide, PhiSegment(), vecs, G4IntersectingCone::ZHi(), and G4IntersectingCone::ZLo().
|
inline |
Definition at line 161 of file G4PolyhedraSide.hh.
References instanceID.
|
protected |
Definition at line 1009 of file G4PolyhedraSide.cc.
References G4MT_phphi.
Referenced by Distance(), Extent(), Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 1286 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 1229 of file G4PolyhedraSide.cc.
References G4UniformRand, and SurfaceTriangle().
Referenced by GetPointOnFace(), and SurfaceArea().
|
static |
Definition at line 63 of file G4PolyhedraSide.cc.
References subInstanceManager.
Referenced by G4SolidsWorkspace::G4SolidsWorkspace().
|
virtual |
Implements G4VCSGface.
Definition at line 619 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), kInside, kOutside, kSurface, and vecs.
|
virtual |
Implements G4VCSGface.
Definition at line 467 of file G4PolyhedraSide.cc.
References allBehind, G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, kInfinity, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4InuclParticleNames::pp, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, and vecs.
|
protected |
Definition at line 802 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, r, and G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ.
|
protected |
Definition at line 897 of file G4PolyhedraSide.cc.
References cone, G4IntersectingCone::LineHitsCone(), n, and PhiSegment().
|
virtual |
Implements G4VCSGface.
Definition at line 650 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), G4PolyhedraSide::sG4PolyhedraSideVec::normal, and vecs.
G4PolyhedraSide & G4PolyhedraSide::operator= | ( | const G4PolyhedraSide & | source | ) |
Definition at line 354 of file G4PolyhedraSide.cc.
References cone, CopyStuff(), edges, and vecs.
Definition at line 971 of file G4PolyhedraSide.cc.
References deltaPhi, numSide, phiIsOpen, and startPhi.
Referenced by ClosestPhiSegment(), Extent(), and LineHitsSegments().
|
virtual |
Implements G4VCSGface.
Definition at line 1251 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 1206 of file G4PolyhedraSide.cc.
References G4UniformRand, p1, and p2.
Referenced by GetPointOnPlane().
|
friend |
Definition at line 172 of file G4PolyhedraSide.hh.
|
protected |
Definition at line 228 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 230 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Extent(), G4PolyhedraSide(), LineHitsSegments(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 224 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 236 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), and G4PolyhedraSide().
|
protected |
Definition at line 233 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 224 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), and G4PolyhedraSide().
|
private |
Definition at line 241 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and SurfaceArea().
|
private |
Definition at line 243 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetInstanceID().
|
private |
Definition at line 240 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Distance(), and G4PolyhedraSide().
|
protected |
Definition at line 234 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 234 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 222 of file G4PolyhedraSide.hh.
Referenced by CalculateExtent(), ClosestPhiSegment(), CopyStuff(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Intersect(), PhiSegment(), and SurfaceArea().
|
protected |
Definition at line 227 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 223 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 224 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
staticprivate |
Definition at line 245 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetSubInstanceManager().
|
protected |
Definition at line 232 of file G4PolyhedraSide.hh.
Referenced by CalculateExtent(), CopyStuff(), Distance(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Inside(), Intersect(), Normal(), operator=(), SurfaceArea(), and ~G4PolyhedraSide().
|
protected |
Definition at line 223 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), and G4PolyhedraSide().