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 }