CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/DataFormats/GeometrySurface/src/TkRotation.cc

Go to the documentation of this file.
00001 #include "DataFormats/GeometrySurface/interface/TkRotation.h"
00002 #include <iostream>
00003 
00004 template<>
00005 std::ostream & operator<< <float>( std::ostream& s, const TkRotation<float>& rtmp) {
00006   return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
00007            << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
00008            << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
00009 } 
00010 
00011 template<>
00012 std::ostream & operator<< <double>( std::ostream& s, const TkRotation<double>& rtmp) {
00013   return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
00014            << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
00015            << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
00016 } 
00017 
00018 template<>
00019 std::ostream & operator<< <float>( std::ostream& s, const TkRotation2D<float>& rtmp) {
00020   return s << rtmp.x() << "\n" << rtmp.y();
00021 }
00022 
00023 template<>
00024 std::ostream & operator<< <double>( std::ostream& s, const TkRotation2D<double>& rtmp) {
00025   return s << rtmp.x() << "\n" << rtmp.y();
00026 }
00027 
00028 namespace geometryDetails {
00029   void TkRotationErr1() {
00030     std::cerr << "TkRotation: zero axis" << std::endl;
00031   }
00032   void TkRotationErr2() {
00033     std::cerr << "TkRotation::rotateAxes: bad axis vectors" << std::endl;
00034   }
00035 
00036 }