Geant4
10.03
|
#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 |
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 98 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 72 of file G4PolyhedraSide.cc.
References allBehind, 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, twopi, vecs, G4PolyhedraSideRZ::z, and z.
Referenced by Clone().
|
virtual |
Definition at line 330 of file G4PolyhedraSide.cc.
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSide & | source | ) |
Definition at line 341 of file G4PolyhedraSide.cc.
References CopyStuff(), G4GeomSplitter< T >::CreateSubInstance(), instanceID, and subInstanceManager.
G4PolyhedraSide::G4PolyhedraSide | ( | __void__ & | ) |
Definition at line 316 of file G4PolyhedraSide.cc.
|
virtual |
Implements G4VCSGface.
Definition at line 730 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 134 of file G4PolyhedraSide.hh.
References G4PolyhedraSide().
Definition at line 942 of file G4PolyhedraSide.cc.
References d1, d2, endPhi, numSide, PhiSegment(), startPhi, and twopi.
Referenced by Distance(), Inside(), and Normal().
|
protected |
Definition at line 370 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 585 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, ClosestPhiSegment(), DistanceAway(), GetPhi(), kCarTolerance, kInfinity, CLHEP::normal(), and vecs.
|
protected |
Definition at line 1063 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 1039 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideVec::center, DistanceAway(), and G4PolyhedraSide::sG4PolyhedraSideVec::normal.
Referenced by Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 670 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 157 of file G4PolyhedraSide.hh.
References instanceID.
|
protected |
Definition at line 1012 of file G4PolyhedraSide.cc.
References G4MT_phphi.
Referenced by Distance(), Extent(), Inside(), and Normal().
|
virtual |
Implements G4VCSGface.
Definition at line 1289 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 1232 of file G4PolyhedraSide.cc.
References G4UniformRand, and SurfaceTriangle().
Referenced by GetPointOnFace(), and SurfaceArea().
|
static |
Definition at line 61 of file G4PolyhedraSide.cc.
References subInstanceManager.
Referenced by G4SolidsWorkspace::G4SolidsWorkspace().
|
virtual |
Implements G4VCSGface.
Definition at line 618 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), kInside, kOutside, kSurface, and vecs.
|
virtual |
Implements G4VCSGface.
Definition at line 466 of file G4PolyhedraSide.cc.
References allBehind, G4PolyhedraSide::sG4PolyhedraSideVec::center, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, kInfinity, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4InuclParticleNames::pp, ps, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, and vecs.
|
protected |
Definition at line 801 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 896 of file G4PolyhedraSide.cc.
References cone, G4IntersectingCone::LineHitsCone(), n, and PhiSegment().
|
virtual |
Implements G4VCSGface.
Definition at line 649 of file G4PolyhedraSide.cc.
References ClosestPhiSegment(), DistanceToOneSide(), GetPhi(), G4PolyhedraSide::sG4PolyhedraSideVec::normal, and vecs.
G4PolyhedraSide & G4PolyhedraSide::operator= | ( | const G4PolyhedraSide & | source | ) |
Definition at line 353 of file G4PolyhedraSide.cc.
References cone, CopyStuff(), edges, and vecs.
Definition at line 972 of file G4PolyhedraSide.cc.
References deltaPhi, numSide, phiIsOpen, startPhi, and twopi.
Referenced by ClosestPhiSegment(), Extent(), and LineHitsSegments().
|
virtual |
Implements G4VCSGface.
Definition at line 1254 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 1209 of file G4PolyhedraSide.cc.
References G4UniformRand.
Referenced by GetPointOnPlane().
|
friend |
Definition at line 166 of file G4PolyhedraSide.hh.
|
protected |
Definition at line 224 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 226 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Extent(), G4PolyhedraSide(), LineHitsSegments(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 232 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), and G4PolyhedraSide().
|
protected |
Definition at line 229 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), operator=(), and ~G4PolyhedraSide().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), and G4PolyhedraSide().
|
private |
Definition at line 237 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and SurfaceArea().
|
private |
Definition at line 239 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetInstanceID().
|
private |
Definition at line 236 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), Distance(), and G4PolyhedraSide().
|
protected |
Definition at line 230 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), and Intersect().
|
protected |
Definition at line 230 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), DistanceAway(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 218 of file G4PolyhedraSide.hh.
Referenced by CalculateExtent(), ClosestPhiSegment(), CopyStuff(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Intersect(), PhiSegment(), and SurfaceArea().
|
protected |
Definition at line 223 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
protected |
Definition at line 219 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), G4PolyhedraSide(), Intersect(), and IntersectSidePlane().
|
protected |
Definition at line 220 of file G4PolyhedraSide.hh.
Referenced by ClosestPhiSegment(), CopyStuff(), G4PolyhedraSide(), and PhiSegment().
|
staticprivate |
Definition at line 241 of file G4PolyhedraSide.hh.
Referenced by G4PolyhedraSide(), and GetSubInstanceManager().
|
protected |
Definition at line 228 of file G4PolyhedraSide.hh.
Referenced by CalculateExtent(), CopyStuff(), Distance(), Extent(), G4PolyhedraSide(), GetPointOnFace(), Inside(), Intersect(), Normal(), operator=(), SurfaceArea(), and ~G4PolyhedraSide().
|
protected |
Definition at line 219 of file G4PolyhedraSide.hh.
Referenced by CopyStuff(), and G4PolyhedraSide().