44 #ifndef __G4TWISTBOXSIDE__ 
   45 #define __G4TWISTBOXSIDE__ 
   99     virtual void SetCorners();
 
  100     virtual void SetBoundaries();
 
  162   return ( fDx4plus2 + fDx4minus2 * ( 2 * phi ) / fPhiTwist  ) ;
 
  169   return ( fDy2plus1 + fDy2minus1 * ( 2 * phi ) / fPhiTwist ) ;
 
  176   return GetValueA(phi)/2. + u*fTAlph    ;
 
  186                           - u * std::sin(phi) + fdeltaX*phi/fPhiTwist,
 
  187                             Xcoef(u,phi) * std::sin(phi)
 
  188                           + u * std::cos(phi) + fdeltaY*phi/fPhiTwist,
 
  189                             2*fDz*phi/fPhiTwist  );
 
  191   if (isGlobal) { 
return (
fRot * SurfPoint + 
fTrans); }
 
  198   return -0.5*GetValueB(phi) ;
 
  204   return 0.5*GetValueB(phi) ;
 
  208 G4double G4TwistBoxSide::GetSurfaceArea()
 
  210   return (fDz*(std::sqrt(16*fDy1*fDy1
 
  211          + (fa1md1 + 4*fDy1*fTAlph)*(fa1md1 + 4*fDy1*fTAlph))
 
  212          + std::sqrt(16*fDy1*fDy1 + (fa2md2 + 4*fDy1*fTAlph)
 
  213          * (fa2md2 + 4*fDy1*fTAlph))))/2. ;
 
  222   G4ThreeVector nvec( 4*fDz*(std::cos(phi) + fTAlph*std::sin(phi)) ,
 
  223                       4*fDz*(-(fTAlph*std::cos(phi)) + std::sin(phi)),
 
  224                       (fDx2 + fDx4)*fPhiTwist*fTAlph
 
  225                                    + 2*fDx4minus2*(-1 + fTAlph*phi)
 
  226                                    + 2*fPhiTwist*(1 + fTAlph*fTAlph)*u
 
  227                                 - 2*(fdeltaX - fdeltaY*fTAlph)*std::cos(phi)
 
  228                                 - 2*(fdeltaY + fdeltaX*fTAlph)*std::sin(phi) );
 
G4TwistBoxSide(const G4String &name, G4double PhiTwist, G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlph, G4double AngleSide)
 
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 &xx, G4bool isGlobal=false)
 
virtual ~G4TwistBoxSide()