56 #ifndef G4PolyhedraSide_hh 
   57 #define G4PolyhedraSide_hh 
   85     std::pair<G4ThreeVector, G4double> 
fPhi;  
 
   98 #define G4MT_phphi ((subInstanceManager.offset[instanceID]).fPhi) 
G4PolyhedraSideEdge * edges[2]
 
G4ThreeVector GetPointOnPlane(G4ThreeVector p0, G4ThreeVector p1, G4ThreeVector p2, G4ThreeVector p3, G4double *Area)
 
G4double GetPhi(const G4ThreeVector &p)
 
G4double Extent(const G4ThreeVector axis)
 
G4PolyhedraSide(const G4PolyhedraSideRZ *prevRZ, const G4PolyhedraSideRZ *tail, const G4PolyhedraSideRZ *head, const G4PolyhedraSideRZ *nextRZ, G4int numSide, G4double phiStart, G4double phiTotal, G4bool phiIsOpen, G4bool isAllBehind=false)
 
G4ThreeVector cornNorm[2]
 
CLHEP::Hep3Vector G4ThreeVector
 
EInside Inside(const G4ThreeVector &p, G4double tolerance, G4double *bestDistance)
 
virtual ~G4PolyhedraSide()
 
G4int ClosestPhiSegment(G4double phi)
 
std::pair< G4ThreeVector, G4double > fPhi
 
G4double DistanceToOneSide(const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist)
 
static const G4float tolerance
 
G4ThreeVector edgeNorm[2]
 
static const G4PhSideManager & GetSubInstanceManager()
 
G4ThreeVector Normal(const G4ThreeVector &p, G4double *bestDistance)
 
G4int LineHitsSegments(const G4ThreeVector &p, const G4ThreeVector &v, G4int *i1, G4int *i2)
 
struct G4PolyhedraSide::sG4PolyhedraSideEdge G4PolyhedraSideEdge
 
G4PolyhedraSideVec * vecs
 
static double normal(HepRandomEngine *eptr)
 
G4double DistanceAway(const G4ThreeVector &p, const G4PolyhedraSideVec &vec, G4double *normDist)
 
G4double Distance(const G4ThreeVector &p, G4bool outgoing)
 
G4double SurfaceTriangle(G4ThreeVector p1, G4ThreeVector p2, G4ThreeVector p3, G4ThreeVector *p4)
 
G4bool IntersectSidePlane(const G4ThreeVector &p, const G4ThreeVector &v, const G4PolyhedraSideVec &vec, G4double normSign, G4double surfTolerance, G4double &distance, G4double &distFromSurface)
 
struct G4PolyhedraSide::sG4PolyhedraSideVec G4PolyhedraSideVec
 
G4GeomSplitter< G4PhSideData > G4PhSideManager
 
G4int PhiSegment(G4double phi)
 
static G4GEOM_DLL G4PhSideManager subInstanceManager
 
G4bool Intersect(const G4ThreeVector &p, const G4ThreeVector &v, G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &allBehind)
 
G4ThreeVector GetPointOnFace()
 
void CopyStuff(const G4PolyhedraSide &source)
 
G4IntersectingCone * cone
 
G4PolyhedraSideEdge * edges
 
G4int GetInstanceID() const 
 
void CalculateExtent(const EAxis axis, const G4VoxelLimits &voxelLimit, const G4AffineTransform &tranform, G4SolidExtentList &extentList)
 
G4PolyhedraSide & operator=(const G4PolyhedraSide &source)