32 #ifndef UPolyPhiFace_hh 
   33 #define UPolyPhiFace_hh 
   68                  double phi, 
double deltaPhi, 
double phiOther);
 
   85                   bool outgoing, 
double surfTolerance,
 
   86                   double& distance, 
double& distFromSurface,
 
   92                                double* bestDistance);
 
  133     bool InsideEdges(
double r, 
double z, 
double* distRZ2,
 
  139                               double qx, 
double qy, 
double qz,
 
double SurfaceTriangle(UVector3 p1, UVector3 p2, UVector3 p3, UVector3 *p4)
 
bool InsideEdges(double r, double z)
 
VUSolid::EnumInside Inside(const UVector3 &p, double tolerance, double *bestDistance)
 
bool InCone(UPolyPhiFaceVertex *a, UPolyPhiFaceVertex *b)
 
static const G4double tolerance
 
double Area2(UVector2 a, UVector2 b, UVector2 c)
 
bool LeftOn(UVector2 a, UVector2 b, UVector2 c)
 
double ExactZOrder(double z, double qx, double qy, double qz, const UVector3 &v, double normSign, const UPolyPhiFaceVertex *vert) const 
 
UPolyPhiFaceVertex * prev
 
double Safety(const UVector3 &p, bool outgoing)
 
UPolyPhiFaceVertex * corners
 
UPolyPhiFace & operator=(const UPolyPhiFace &source)
 
bool Left(UVector2 a, UVector2 b, UVector2 c)
 
UPolyPhiFaceVertex * next
 
bool Distance(const UVector3 &p, const UVector3 &v, bool outgoing, double surfTolerance, double &distance, double &distFromSurface, UVector3 &normal, bool &allBehind)
 
UPolyPhiFaceVertex * triangles
 
bool Diagonal(UPolyPhiFaceVertex *a, UPolyPhiFaceVertex *b)
 
bool IntersectProp(UVector2 a, UVector2 b, UVector2 c, UVector2 d)
 
double Extent(const UVector3 axis)
 
void CopyStuff(const UPolyPhiFace &source)
 
UVector3 GetPointOnFace()
 
bool Collinear(UVector2 a, UVector2 b, UVector2 c)
 
bool Between(UVector2 a, UVector2 b, UVector2 c)
 
UVector3 Normal(const UVector3 &p, double *bestDistance)
 
bool InsideEdgesExact(double r, double z, double normSign, const UVector3 &p, const UVector3 &v)
 
bool Diagonalie(UPolyPhiFaceVertex *a, UPolyPhiFaceVertex *b)
 
UPolyPhiFace(const UReduciblePolygon *rz, double phi, double deltaPhi, double phiOther)
 
bool Intersect(UVector2 a, UVector2 b, UVector2 c, UVector2 d)
 
void Diagnose(VUSolid *solid)