11 #pragma implementation 
   26 static inline double safe_acos (
double x) {
 
   27   if (std::abs(x) <= 1.0) 
return std::acos(x);
 
   28   return ( (x>0) ? 0 : CLHEP::pi );
 
   32         its_d(proper(ddelta)), its_s(std::sin(ddelta)), its_c(std::cos(ddelta))
 
   51   return  std::fabs( 
its_d );
 
   75   return (
yx() == 0.0 && 
xx() == 0.0) ? 0.0 : std::atan2(
yx(),
xx());
 
   80   return (
yy() == 0.0 && 
xy() == 0.0) ? 0.0 : std::atan2(
yy(),
xy());
 
   85   return (
yz() == 0.0 && 
xz() == 0.0) ? 0.0 : std::atan2(
yz(),
xz());
 
   90   return safe_acos(
zx());
 
   95   return safe_acos(
zy());
 
   99   return safe_acos(
zz());  
 
  110   rotation = axisAngle();
 
  116   rotation = axisAngle();
 
  133   return (answer >= 0) ? answer : 0;
 
  137   double sum =        r.
xx() + 
 
  140   double answer = 3.0 - sum;
 
  141   return (answer >= 0 ) ? answer : 0;
 
  148   double bet = b.
beta();
 
  149   double bet2 = bet*bet;
 
  171   return (
distance2(r) <= epsilon*epsilon);
 
  174   return (
distance2(r) <= epsilon*epsilon);
 
  177   return (
distance2(lt) <= epsilon*epsilon);
 
  181                                      double epsilon )
 const {
 
  182   return (
distance2(lt) <= epsilon*epsilon);
 
  186   return 2.0 - 2.0 * 
its_c;
 
  190   os << 
"\nRotation about X (" << 
its_d << 
 
  191         ") [cos d = " << 
its_c << 
" sin d = " << 
its_s << 
"]\n";