1729 if (Rmn1 < 0. || Rmx1 < 0. || Rmn2 < 0. || Rmx2 < 0.) k = 1;
1730 if (Rmn1 > Rmx1 || Rmn2 > Rmx2) k = 1;
1731 if (Rmn1 == Rmx1 && Rmn2 == Rmx2) k = 1;
1733 if (Dz <= 0.) k += 2;
1737 phi2 = Phi1; phi1 = phi2 - Dphi;
1738 }
else if (Dphi == 0.) {
1739 phi1 = Phi1; phi2 = phi1 + wholeCircle;
1741 phi1 = Phi1; phi2 = phi1 + Dphi;
1744 if (std::abs(dphi-wholeCircle) <
perMillion) dphi = wholeCircle;
1745 if (dphi > wholeCircle) k += 4;
1748 std::cerr <<
"HepPolyhedronCone(s)/Tube(s): error in input parameters";
1749 if ((k & 1) != 0) std::cerr <<
" (radiuses)";
1750 if ((k & 2) != 0) std::cerr <<
" (half-length)";
1751 if ((k & 4) != 0) std::cerr <<
" (angles)";
1752 std::cerr << std::endl;
1753 std::cerr <<
" Rmn1=" << Rmn1 <<
" Rmx1=" << Rmx1;
1754 std::cerr <<
" Rmn2=" << Rmn2 <<
" Rmx2=" << Rmx2;
1755 std::cerr <<
" Dz=" << Dz <<
" Phi1=" << Phi1 <<
" Dphi=" << Dphi
static constexpr double perMillion
static constexpr double twopi
void RotateAroundZ(G4int nstep, G4double phi, G4double dphi, G4int np1, G4int np2, const G4double *z, G4double *r, G4int nodeVis, G4int edgeVis)