33 #ifndef UPolyhedraSide_hh 
   34 #define UPolyhedraSide_hh 
   55                    double phiStart, 
double phiTotal,
 
   56                    bool phiIsOpen,  
bool isAllBehind = 
false);
 
   63                   bool outgoing, 
double surfTolerance,
 
   64                   double& distance, 
double& distFromSurface,
 
   70                                double* bestDistance);
 
  131                             double surfTolerance,
 
  133                             double& distFromSurface);
 
  175     std::pair<UVector3, double> 
fPhi;  
 
bool IntersectSidePlane(const UVector3 &p, const UVector3 &v, const UPolyhedraSideVec &vec, double normSign, double surfTolerance, double &distance, double &distFromSurface)
 
virtual ~UPolyhedraSide()
 
double Safety(const UVector3 &p, bool outgoing)
 
static const G4double tolerance
 
double GetPhi(const UVector3 &p)
 
UVector3 GetPointOnPlane(UVector3 p0, UVector3 p1, UVector3 p2, UVector3 p3, double *Area)
 
UPolyhedraSide(const UPolyhedraSideRZ *prevRZ, const UPolyhedraSideRZ *tail, const UPolyhedraSideRZ *head, const UPolyhedraSideRZ *nextRZ, int numSide, double phiStart, double phiTotal, bool phiIsOpen, bool isAllBehind=false)
 
static double normal(HepRandomEngine *eptr)
 
double SurfaceTriangle(UVector3 p1, UVector3 p2, UVector3 p3, UVector3 *p4)
 
UVector3 Normal(const UVector3 &p, double *bestDistance)
 
VUSolid::EnumInside Inside(const UVector3 &p, double tolerance, double *bestDistance)
 
bool Distance(const UVector3 &p, const UVector3 &v, bool outgoing, double surfTolerance, double &distance, double &distFromSurface, UVector3 &normal, bool &allBehind)
 
UPolyhedraSideEdge * edges[2]
 
int ClosestPhiSegment(double phi)
 
UPolyhedraSideEdge * edges
 
double DistanceToOneSide(const UVector3 &p, const UPolyhedraSideVec &vec, double *normDist)
 
double Extent(const UVector3 axis)
 
UVector3 GetPointOnFace()
 
struct UPolyhedraSide::sUPolyhedraSideEdge UPolyhedraSideEdge
 
int LineHitsSegments(const UVector3 &p, const UVector3 &v, int *i1, int *i2)
 
double DistanceAway(const UVector3 &p, const UPolyhedraSideVec &vec, double *normDist)
 
struct UPolyhedraSide::sUPolyhedraSideVec UPolyhedraSideVec
 
void CopyStuff(const UPolyhedraSide &source)
 
UPolyhedraSide & operator=(const UPolyhedraSide &source)
 
std::pair< UVector3, double > fPhi
 
int PhiSegment(double phi)