CMS 3D CMS Logo

TkRotation.cc
Go to the documentation of this file.
2 #include <iostream>
3 
4 template <>
5 std::ostream& operator<< <float>(std::ostream& s, const TkRotation<float>& rtmp) {
6  return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
7  << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
8  << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
9 }
10 
11 template <>
12 std::ostream& operator<< <double>(std::ostream& s, const TkRotation<double>& rtmp) {
13  return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
14  << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
15  << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
16 }
17 
18 template <>
19 std::ostream& operator<< <float>(std::ostream& s, const TkRotation2D<float>& rtmp) {
20  return s << rtmp.x() << "\n" << rtmp.y();
21 }
22 
23 template <>
24 std::ostream& operator<< <double>(std::ostream& s, const TkRotation2D<double>& rtmp) {
25  return s << rtmp.x() << "\n" << rtmp.y();
26 }
27 
28 namespace geometryDetails {
29  void TkRotationErr1() { std::cerr << "TkRotation: zero axis" << std::endl; }
30  void TkRotationErr2() { std::cerr << "TkRotation::rotateAxes: bad axis vectors" << std::endl; }
31 
32 } // namespace geometryDetails
void TkRotationErr2()
Definition: TkRotation.cc:30
void TkRotationErr1()
Definition: TkRotation.cc:29
std::ostream & operator<<< float >(std::ostream &s, const TkRotation< float > &rtmp)
Definition: TkRotation.cc:5
std::ostream & operator<<< double >(std::ostream &s, const TkRotation< double > &rtmp)
Definition: TkRotation.cc:12