#include <G4ReduciblePolygon.hh>
 | 
|   | G4ReduciblePolygon (const G4double a[], const G4double b[], G4int n) | 
|   | 
|   | G4ReduciblePolygon (const G4double rmin[], const G4double rmax[], const G4double z[], G4int n) | 
|   | 
| virtual  | ~G4ReduciblePolygon () | 
|   | 
| G4int  | NumVertices () const  | 
|   | 
| G4double  | Amin () const  | 
|   | 
| G4double  | Amax () const  | 
|   | 
| G4double  | Bmin () const  | 
|   | 
| G4double  | Bmax () const  | 
|   | 
| void  | CopyVertices (G4double a[], G4double b[]) const  | 
|   | 
| void  | ScaleA (G4double scale) | 
|   | 
| void  | ScaleB (G4double scale) | 
|   | 
| G4bool  | RemoveDuplicateVertices (G4double tolerance) | 
|   | 
| G4bool  | RemoveRedundantVertices (G4double tolerance) | 
|   | 
| void  | ReverseOrder () | 
|   | 
| void  | StartWithZMin () | 
|   | 
| G4double  | Area () | 
|   | 
| G4bool  | CrossesItself (G4double tolerance) | 
|   | 
| G4bool  | BisectedBy (G4double a1, G4double b1, G4double a2, G4double b2, G4double tolerance) | 
|   | 
| void  | Print () | 
|   | 
|   | G4ReduciblePolygon (__void__ &) | 
|   | 
Definition at line 61 of file G4ReduciblePolygon.hh.
 
Definition at line 49 of file G4ReduciblePolygon.cc.
void Create(const G4double a[], const G4double b[], G4int n)
 
std::vector< ExP01TrackerHit * > a
 
 
 
 
Definition at line 65 of file G4ReduciblePolygon.cc.
   83   for( i=0; i < 
n; i++, rOut++, zOut++, rIn--, zIn-- )
 
void Create(const G4double a[], const G4double b[], G4int n)
 
std::vector< ExP01TrackerHit * > a
 
 
 
 
  
  
      
        
          | G4ReduciblePolygon::~G4ReduciblePolygon  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtual   | 
  
 
 
      
        
          | G4ReduciblePolygon::G4ReduciblePolygon  | 
          ( | 
          __void__ &  | 
           | ) | 
           | 
        
      
 
 
  
  
      
        
          | G4double G4ReduciblePolygon::Amax  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | G4double G4ReduciblePolygon::Amin  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
Definition at line 511 of file G4ReduciblePolygon.cc.
  515   G4int nNeg = 0, nPos = 0;
 
  518   G4double len12 = std::sqrt( a12*a12 + b12*b12 );
 
  519   a12 /= len12; b12 /= len12;
 
  529     if (cross < -tolerance)
 
  531       if (nPos) 
return true;
 
  534     else if (cross > tolerance)
 
  536       if (nNeg) 
return true;
 
 
 
 
  
  
      
        
          | G4double G4ReduciblePolygon::Bmax  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | G4double G4ReduciblePolygon::Bmin  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | void G4ReduciblePolygon::CalculateMaxMin  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
Definition at line 103 of file G4ReduciblePolygon.cc.
  107    G4Exception(
"G4ReduciblePolygon::Create()", 
"GeomSolids0002",
 
  115     newVertex->a = *anext;
 
  116     newVertex->b = *bnext;
 
  124       prev->
next = newVertex;
 
  128   } 
while( ++anext, ++bnext < 
b+
n );
 
std::vector< ExP01TrackerHit * > a
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
 
 
 
Definition at line 453 of file G4ReduciblePolygon.cc.
  455   G4double tolerance2 = tolerance*tolerance;
 
  467              db1 = next1->b-curr1->b;
 
  478                db2 = next2->b-curr2->b;
 
  480                b12 = curr2->b-curr1->b;
 
  486       if (std::fabs(deter) > tolerance2)
 
  489         s1 = (a12*db2-b12*da2)/deter;
 
  491         if (s1 >= zero && s1 < one)
 
  493           s2 = -(da1*b12-db1*a12)/deter;
 
  494           if (s2 >= zero && s2 < one) 
return true;
 
 
 
 
  
  
      
        
          | G4int G4ReduciblePolygon::NumVertices  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
      
        
          | G4bool G4ReduciblePolygon::RemoveDuplicateVertices  | 
          ( | 
          G4double  | 
          tolerance | ) | 
           | 
        
      
 
Definition at line 219 of file G4ReduciblePolygon.cc.
  222            *prev = 0, *next = 0;
 
  228     if (std::fabs(curr->a-next->a) < tolerance &&
 
  229         std::fabs(curr->b-next->b) < tolerance     )
 
  249       if (prev) prev->next = curr; 
else vertexHead = curr;
 
 
 
 
      
        
          | G4bool G4ReduciblePolygon::RemoveRedundantVertices  | 
          ( | 
          G4double  | 
          tolerance | ) | 
           | 
        
      
 
Definition at line 273 of file G4ReduciblePolygon.cc.
  280   G4double tolerance2 = tolerance*tolerance;
 
  292              db = next->b - curr->b;
 
  308       if (test==curr) 
break;
 
  314                dbt = test->b - curr->b;
 
  316       if (std::fabs(dat*db-dbt*da)>tolerance2) 
break;
 
  340       if ((curr != next) && (next != test)) 
delete next;
 
 
 
 
      
        
          | void G4ReduciblePolygon::ReverseOrder  | 
          ( | 
           | ) | 
           | 
        
      
 
 
      
        
          | void G4ReduciblePolygon::StartWithZMin  | 
          ( | 
           | ) | 
           | 
        
      
 
 
  
  
      
        
          | G4int G4ReduciblePolygon::numVertices | 
         
       
   | 
  
protected   | 
  
 
 
  
  
      
        
          | ABVertex* G4ReduciblePolygon::vertexHead | 
         
       
   | 
  
protected   | 
  
 
 
The documentation for this class was generated from the following files: