62 #ifndef G4ExtrudedSolid_HH 
   63 #define G4ExtrudedSolid_HH 
   65 #if defined(G4GEOM_USE_USOLIDS) 
   66 #define G4GEOM_USE_UEXTRUDEDSOLID 1 
   69 #if defined(G4GEOM_USE_UEXTRUDEDSOLID) 
   70   #define G4UExtrudedSolid G4ExtrudedSolid 
  100                             std::vector<G4TwoVector>  polygon,
 
  101                             std::vector<ZSection>     zsections);
 
  105                             std::vector<G4TwoVector>  polygon,
 
  118     inline std::vector<G4TwoVector> 
GetPolygon() 
const;
 
  129                            const G4bool calcNorm=
false,
 
  135     std::ostream& 
StreamInfo(std::ostream &os) 
const;
 
std::vector< G4TwoVector > GetPolygon() const 
 
G4bool IsPointInside(G4TwoVector a, G4TwoVector b, G4TwoVector c, G4TwoVector p) const 
 
G4GeometryType GetEntityType() const 
 
CLHEP::Hep3Vector G4ThreeVector
 
std::vector< G4TwoVector > fOffset0s
 
std::vector< G4double > fScale0s
 
G4ExtrudedSolid(const G4String &pName, std::vector< G4TwoVector > polygon, std::vector< ZSection > zsections)
 
std::vector< ZSection > fZSections
 
ZSection(G4double z, G4TwoVector offset, G4double scale)
 
virtual ~G4ExtrudedSolid()
 
EInside Inside(const G4ThreeVector &p) const 
 
G4TwoVector ProjectPoint(const G4ThreeVector &point) const 
 
G4bool AddGeneralPolygonFacets()
 
G4TwoVector GetVertex(G4int index) const 
 
G4bool IsSameLine(G4TwoVector p, G4TwoVector l1, G4TwoVector l2) const 
 
G4double GetAngle(G4TwoVector p0, G4TwoVector pa, G4TwoVector pb) const 
 
void ComputeProjectionParameters()
 
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const 
 
G4int GetNofVertices() const 
 
std::vector< G4double > fKScales
 
G4int GetNofZSections() const 
 
std::ostream & StreamInfo(std::ostream &os) const 
 
G4bool IsSameLineSegment(G4TwoVector p, G4TwoVector l1, G4TwoVector l2) const 
 
std::vector< G4TwoVector > fKOffsets
 
ZSection GetZSection(G4int index) const 
 
G4bool IsSameSide(G4TwoVector p1, G4TwoVector p2, G4TwoVector l1, G4TwoVector l2) const 
 
CLHEP::Hep2Vector G4TwoVector
 
std::vector< ZSection > GetZSections() const 
 
G4VFacet * MakeUpFacet(G4int ind1, G4int ind2, G4int ind3) const 
 
G4GeometryType fGeometryType
 
G4ExtrudedSolid & operator=(const G4ExtrudedSolid &rhs)
 
G4VFacet * MakeDownFacet(G4int ind1, G4int ind2, G4int ind3) const 
 
std::vector< std::vector< G4int > > fTriangles
 
std::vector< G4TwoVector > fPolygon