44 #ifndef __G4TWISTTRAPPARALLELSIDE__ 
   45 #define __G4TWISTTRAPPARALLELSIDE__ 
   99     virtual void SetCorners();
 
  100     virtual void SetBoundaries();
 
  162   return ( fDy2plus1 + fDy2minus1 * ( 2 * phi ) / fPhiTwist ) ;
 
  168   return GetValueB(phi)/2. ;
 
  172 G4TwistTrapParallelSide::
 
  177   G4ThreeVector SurfPoint ( u*std::cos(phi) - Xcoef(phi)*std::sin(phi)
 
  178                           + fdeltaX*phi/fPhiTwist,
 
  179                             u*std::sin(phi) + Xcoef(phi)*std::cos(phi)
 
  180                           + fdeltaY*phi/fPhiTwist,
 
  181                             2*fDz*phi/fPhiTwist  );
 
  182   if (isGlobal) { 
return (
fRot * SurfPoint + 
fTrans); }
 
  190   return  -(fPhiTwist*(fDx2 + fDx4 - fDy2plus1*fTAlph)
 
  191           + 2*fDx4minus2*phi - 2*fDy2minus1*fTAlph*phi)/(2.*fPhiTwist) ;
 
  197   return (fDx2 + fDx4 + fDy2plus1*fTAlph)/ 2.
 
  198        + ((fDx4minus2 + fDy2minus1*fTAlph)*phi)/fPhiTwist ;
 
  202 G4double  G4TwistTrapParallelSide::GetSurfaceArea()
 
  204   return 2*fDx4plus2*fDz ;
 
  214                       2*fDz*std::cos(phi) ,
 
  215                      -(fDy2minus1 + fPhiTwist*u + fdeltaY*std::cos(phi)
 
  216                      -fdeltaX*std::sin(phi))) ;
 
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 ~G4TwistTrapParallelSide()
 
static constexpr double m
 
G4TwistTrapParallelSide(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)