43 #ifndef G4UGENERICTRAP_hh 
   44 #define G4UGENERICTRAP_hh 
   48 #if defined(G4GEOM_USE_USOLIDS) 
   50 #include "UGenericTrap.hh" 
   55 class G4UGenericTrap : 
public G4USolid 
 
   60                    const std::vector<G4TwoVector>& vertices);
 
   64     inline UGenericTrap* GetShape() 
const;
 
   66     inline G4double    GetZHalfLength() 
const;
 
   67     inline G4int       GetNofVertices() 
const;
 
   69     inline const std::vector<G4TwoVector>& GetVertices() 
const;
 
   71     inline G4bool      IsTwisted() 
const;
 
   72     inline G4int       GetVisSubdivisions() 
const;
 
   73     inline void        SetVisSubdivisions(
G4int subdiv);
 
   74     inline void        SetZHalfLength(
G4double);
 
   78     G4UGenericTrap(__void__&);
 
   83     G4UGenericTrap( 
const G4UGenericTrap& source );
 
   84     G4UGenericTrap &operator=(
const G4UGenericTrap& source);
 
   94 inline UGenericTrap* G4UGenericTrap::GetShape()
 const 
   96   return (UGenericTrap*) fShape;
 
   99 inline G4double G4UGenericTrap::GetZHalfLength()
 const 
  101   return GetShape()->GetZHalfLength();
 
  103 inline G4int G4UGenericTrap::GetNofVertices()
 const 
  105   return GetShape()->GetNofVertices();
 
  109   UVector2 v = GetShape()->GetVertex(index);
 
  112 inline const std::vector<G4TwoVector>& G4UGenericTrap::GetVertices()
 const 
  114   std::vector<UVector2> v = GetShape()->GetVertices();
 
  115   static std::vector<G4TwoVector> vertices; vertices.clear();
 
  116   for (
size_t n=0; 
n<v.size(); ++
n)
 
  122 inline G4double G4UGenericTrap::GetTwistAngle(
G4int index)
 const 
  124   return GetShape()->GetTwistAngle(index);
 
  126 inline G4bool G4UGenericTrap::IsTwisted()
 const 
  128   return GetShape()->IsTwisted();
 
  130 inline G4int G4UGenericTrap::GetVisSubdivisions()
 const 
  132   return GetShape()->GetVisSubdivisions();
 
  135 inline void G4UGenericTrap::SetVisSubdivisions(
G4int subdiv)
 
  137   GetShape()->SetVisSubdivisions(subdiv);
 
  140 inline void G4UGenericTrap::SetZHalfLength(
G4double halfZ)
 
  142   GetShape()->SetZHalfLength(halfZ);
 
  145 #endif  // G4GEOM_USE_USOLIDS 
const G4double x[NPOINTSGL]
 
CLHEP::Hep2Vector G4TwoVector