Geant4.10
|
#include <G4PolyhedraSide.hh>
Data Structures | |
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 |
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 allBehind, plottest35::c1, G4PolyhedraSide::sG4PolyhedraSideVec::center, cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideEdge::cornNorm, G4GeomSplitter< T >::CreateSubInstance(), CLHEP::Hep3Vector::cross(), deltaPhi, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edgeNorm, edgeNorm, G4PolyhedraSide::sG4PolyhedraSideVec::edges, edges, endPhi, G4MT_phphi, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), lenPhi, lenRZ, CLHEP::Hep3Vector::mag(), G4PolyhedraSide::sG4PolyhedraSideEdge::normal, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, phiIsOpen, G4PolyhedraSideRZ::r, r, startPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, python.hepunit::twopi, CLHEP::Hep3Vector::unit(), vecs, G4PolyhedraSideRZ::z, and z.
Referenced by Clone().
|
virtual |
G4PolyhedraSide::G4PolyhedraSide | ( | const G4PolyhedraSide & | source | ) |
Definition at line 342 of file G4PolyhedraSide.cc.
References CopyStuff(), and G4GeomSplitter< T >::CreateSubInstance().
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 endPhi, numSide, PhiSegment(), startPhi, and python.hepunit::twopi.
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, 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(), CLHEP::Hep3Vector::dot(), GetPhi(), and vecs.
|
protected |
Definition at line 1060 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 1036 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 671 of file G4PolyhedraSide.cc.
References cone, G4PolyhedraSide::sG4PolyhedraSideEdge::corner, DBL_MIN, CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, GetPhi(), numSide, CLHEP::Hep3Vector::perp2(), PhiSegment(), vecs, CLHEP::Hep3Vector::z(), G4IntersectingCone::ZHi(), and G4IntersectingCone::ZLo().
|
inline |
Definition at line 161 of file G4PolyhedraSide.hh.
|
protected |
Definition at line 1009 of file G4PolyhedraSide.cc.
References G4MT_phphi, and CLHEP::Hep3Vector::phi().
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.
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, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), G4PolyhedraSide::sG4PolyhedraSideVec::edges, lenPhi, lenRZ, G4PolyhedraSide::sG4PolyhedraSideVec::normal, numSide, G4InuclParticleNames::pp, r, G4PolyhedraSide::sG4PolyhedraSideVec::surfPhi, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, test::v, and vecs.
|
protected |
Definition at line 802 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, G4PolyhedraSide::sG4PolyhedraSideVec::surfRZ, and test::v.
|
protected |
Definition at line 897 of file G4PolyhedraSide.cc.
References cone, G4IntersectingCone::LineHitsCone(), n, PhiSegment(), CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().
|
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, startPhi, and python.hepunit::twopi.
Referenced by ClosestPhiSegment(), Extent(), and LineHitsSegments().
|
virtual |
Implements G4VCSGface.
Definition at line 1251 of file G4PolyhedraSide.cc.
References G4PolyhedraSide::sG4PolyhedraSideEdge::corner, G4PolyhedraSide::sG4PolyhedraSideVec::edges, 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, and test::v.
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().
|
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().
|
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().