44 #ifndef __G4TWISTTRAPALPHASIDE__ 
   45 #define __G4TWISTTRAPALPHASIDE__ 
  100     virtual void SetCorners();
 
  101     virtual void SetBoundaries();
 
  108                                        G4bool isGlobal = 
false );
 
  164   return ( fDx4plus2 + fDx4minus2 * ( 2 * phi ) / fPhiTwist  ) ;
 
  170   return ( fDx3plus1 + fDx3minus1 * ( 2 * phi) / fPhiTwist  ) ;
 
  176   return ( fDy2plus1 + fDy2minus1 * ( 2 * phi ) / fPhiTwist ) ;
 
  184   return GetValueA(phi)/2. + (GetValueD(phi)-GetValueA(phi))/4. 
 
  185     - u*( ( GetValueD(phi)-GetValueA(phi) )/( 2 * GetValueB(phi) ) - fTAlph );
 
  195                           - u * std::sin(phi) + fdeltaX*phi/fPhiTwist,
 
  196                             Xcoef(u,phi) * std::sin(phi)
 
  197                           + u * std::cos(phi) + fdeltaY*phi/fPhiTwist,
 
  198                             2*fDz*phi/fPhiTwist  );
 
  199   if (isGlobal) { 
return (
fRot * SurfPoint + 
fTrans); }
 
  206   return -0.5*GetValueB(phi) ;
 
  212   return 0.5*GetValueB(phi) ;
 
  216 G4double G4TwistTrapAlphaSide::GetSurfaceArea()
 
  218   return (fDz*(std::sqrt(16*fDy1*fDy1
 
  219              + (fa1md1 + 4*fDy1*fTAlph)*(fa1md1 + 4*fDy1*fTAlph))
 
  220              + std::sqrt(16*fDy2*fDy2 + (fa2md2 + 4*fDy2*fTAlph)
 
  221                                       * (fa2md2 + 4*fDy2*fTAlph))))/2. ;
 
  231                      + (fa1md1 + 4*fDy1*fTAlph)*std::sin(phi)),
 
  232                        -(fDy1* fDz*((fa1md1 + 4*fDy1*fTAlph)*std::cos(phi)
 
  233                      - 4*fDy1*std::sin(phi))),
 
  234                        (fDy1*(-8*(fDx3minus1 + fDx4minus2)*fDy1
 
  235                                 + fa1md1*(fDx2 + fDx3plus1 + fDx4)*fPhiTwist
 
  236                                 + 4*(fDx2 + fDx3plus1 + fDx4)*fDy1*fPhiTwist
 
  237                                 *fTAlph + 2*(fDx3minus1 + fDx4minus2)
 
  238                                 *(fa1md1 + 4*fDy1*fTAlph)*phi)
 
  239                                 + fPhiTwist*(16*fDy1*fDy1
 
  240                                 + (fa1md1 + 4*fDy1*fTAlph)
 
  241                                 *(fa1md1 + 4*fDy1*fTAlph))*u
 
  242                                 + 4*fDy1*(fa1md1*fdeltaY - 4*fdeltaX*fDy1
 
  243                                 + 4*fdeltaY*fDy1*fTAlph)* std::cos(phi)
 
  244                                 - 4*fDy1*(fa1md1*fdeltaX + 4*fDy1*(fdeltaY
 
  245                                 + fdeltaX*fTAlph))*std::sin(phi))/ 8. ) ;
 
virtual ~G4TwistTrapAlphaSide()
 
G4TwistTrapAlphaSide(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)
 
static constexpr double m
 
virtual G4ThreeVector GetNormal(const G4ThreeVector &xx, G4bool isGlobal=false)
 
virtual G4int DistanceToSurface(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol)