45 #ifndef __G4TWISTTRAPFLATSIDE__ 
   46 #define __G4TWISTTRAPFLATSIDE__ 
  104    virtual void SetCorners();
 
  105    virtual void SetBoundaries();
 
  131   return (  ( fDx2 + fDx1 )/2. + u*(fDx2 - fDx1)/(2.*fDy) + u *fTanAlpha  ) ;
 
  139   if (isGlobal) { 
return (
fRot*SurfPoint + 
fTrans); }
 
  146   return -xAxisMax(y, -fTAlph ) ;
 
  152   return xAxisMax(y, fTAlph ) ; 
 
  158   return 2*(fDx1 + fDx2)*fDy ;
 
virtual G4ThreeVector SurfacePoint(G4double x, G4double y, G4bool isGlobal=false)
 
virtual G4int DistanceToSurface(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol)
 
virtual G4ThreeVector GetNormal(const G4ThreeVector &, G4bool isGlobal=false)
 
virtual G4double GetSurfaceArea()
 
static constexpr double m
 
virtual G4int GetAreaCode(const G4ThreeVector &xx, G4bool withTol=true)
 
G4TwistTrapFlatSide(const G4String &name, G4double PhiTwist, G4double pDx1, G4double pDx2, G4double pDy, G4double pDz, G4double pAlpha, G4double pPhi, G4double pTheta, G4int handedness)
 
virtual G4double GetBoundaryMin(G4double u)
 
virtual ~G4TwistTrapFlatSide()
 
virtual void GetFacets(G4int m, G4int n, G4double xyz[][3], G4int faces[][4], G4int iside)
 
virtual G4double GetBoundaryMax(G4double u)