#include "DataFormats/GeometryVector/interface/Basic2DVector.h"
#include "DataFormats/GeometryVector/interface/Basic3DVector.h"
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
#include <iosfwd>
Go to the source code of this file.
Classes | |
class | TkRotation< T > |
Rotaion matrix used by Surface. More... | |
Functions | |
template<class T, class U> | |
TkRotation< typename PreciseFloatType< T, U >::Type > | operator * (const TkRotation< T > &a, const TkRotation< U > &b) |
template<class T, class U> | |
Basic3DVector< U > | operator * (const TkRotation< T > &r, const Basic3DVector< U > &v) |
template<class T> | |
std::ostream & | operator<< (std::ostream &s, const TkRotation< T > &r) |
TkRotation<typename PreciseFloatType<T,U>::Type> operator * | ( | const TkRotation< T > & | a, | |
const TkRotation< U > & | b | |||
) | [inline] |
Definition at line 269 of file TkRotation.h.
References TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
00269 { 00270 typedef TkRotation<typename PreciseFloatType<T,U>::Type> RT; 00271 return RT( a.xx()*b.xx() + a.xy()*b.yx() + a.xz()*b.zx(), 00272 a.xx()*b.xy() + a.xy()*b.yy() + a.xz()*b.zy(), 00273 a.xx()*b.xz() + a.xy()*b.yz() + a.xz()*b.zz(), 00274 a.yx()*b.xx() + a.yy()*b.yx() + a.yz()*b.zx(), 00275 a.yx()*b.xy() + a.yy()*b.yy() + a.yz()*b.zy(), 00276 a.yx()*b.xz() + a.yy()*b.yz() + a.yz()*b.zz(), 00277 a.zx()*b.xx() + a.zy()*b.yx() + a.zz()*b.zx(), 00278 a.zx()*b.xy() + a.zy()*b.yy() + a.zz()*b.zy(), 00279 a.zx()*b.xz() + a.zy()*b.yz() + a.zz()*b.zz()); 00280 }
Basic3DVector<U> operator * | ( | const TkRotation< T > & | r, | |
const Basic3DVector< U > & | v | |||
) | [inline] |
Definition at line 261 of file TkRotation.h.
References Basic3DVector< T >::x(), TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), Basic3DVector< T >::y(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), Basic3DVector< T >::z(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
00261 { 00262 return Basic3DVector<U>( r.xx()*v.x() + r.xy()*v.y() + r.xz()*v.z(), 00263 r.yx()*v.x() + r.yy()*v.y() + r.yz()*v.z(), 00264 r.zx()*v.x() + r.zy()*v.y() + r.zz()*v.z()); 00265 }
std::ostream & operator<< | ( | std::ostream & | s, | |
const TkRotation< T > & | r | |||
) | [inline] |
Definition at line 253 of file TkRotation.h.
References lat::endl(), r, s, TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
00253 { 00254 TkRotation<T> rtmp = r; 00255 return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ") " 00256 << std::endl << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ") " 00257 << std::endl << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") "; 00258 }