src/Level1/coord_vec.cc
// ----------------------------------------------------------------------------
//           Euler Rotation Matrices Active On Cartesian Coordinates
// ----------------------------------------------------------------------------
Euler Rotation Matrices Active On Cartesian Coordinates
Euler Rotation Matrices Active On Cartesian Coordinates
coord_vec coord_vec::rotate(double alpha, double beta, double gamma) const
  {
  coord_vec rotcv(Npts);
  matrix rotmx = Rmx(alpha, beta, gamma);	
  for(int i=0; i<Npts; i++)			
    rotcv.Pts[i] = rotmx * Pts[i];
  return rotcv;					
  }
coord_vec coord_vec :: rotate ( double alpha , double beta , double gamma ) const { coord_vec rotcv ( Npts ) ; matrix rotmx = Rmx ( alpha , beta , gamma ) ; for ( int i = 0 ; i < Npts ; i ++ ) rotcv . Pts [ i ] = rotmx * Pts [ i ] ; return rotcv ; }
Euler Rotation Matrices Active On Cartesian Coordinates
Euler Rotation Matrices Active On Cartesian Coordinates
// Input		cvec : Coordinate vector(this) // 			alpha: Euler angle (radians) // 			beta : Euler angle (radians) // 			gamma: Euler angle (radians) // Return		rotpt: Coordinate vector rotated //			       by input Euler angles // Set rotation matrix // Rotate all the coords. // Return rotcv