1624 if (r2 < 0. || r1 < 0. ) k = 1;
1625 if (r1 > r2 ) k = 1;
1626 if (r1 == r2) k = 1;
1628 if (halfZ <= 0.) k += 2;
1630 if (sqrtan1<0.||sqrtan2<0.) k += 4;
1634 std::cerr <<
"HepPolyhedronHype: error in input parameters";
1635 if ((k & 1) != 0) std::cerr <<
" (radiuses)";
1636 if ((k & 2) != 0) std::cerr <<
" (half-length)";
1637 if ((k & 4) != 0) std::cerr <<
" (angles)";
1638 std::cerr << std::endl;
1639 std::cerr <<
" r1=" << r1 <<
" r2=" << r2;
1640 std::cerr <<
" halfZ=" << halfZ <<
" sqrTan1=" << sqrtan1
1641 <<
" sqrTan2=" << sqrtan2
1656 rr[0] = std::sqrt(sqrtan2*halfZ*halfZ+k2);
1658 for(
G4int i = 1; i < n-1; i++)
1660 zz[i] = zz[i-1] - dz;
1661 rr[i] =std::sqrt(sqrtan2*zz[i]*zz[i]+k2);
1668 rr[
n] = std::sqrt(sqrtan1*halfZ*halfZ+k1);
1670 for(
G4int i = n+1; i < n+
n; i++)
1672 zz[i] = zz[i-1] - dz;
1673 rr[i] =std::sqrt(sqrtan1*zz[i]*zz[i]+k1);
void RotateAroundZ(G4int nstep, G4double phi, G4double dphi, G4int np1, G4int np2, const G4double *z, G4double *r, G4int nodeVis, G4int edgeVis)
static G4int GetNumberOfRotationSteps()