CMS 3D CMS Logo

Classes | Namespaces | Functions

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/DataFormats/GeometrySurface/interface/newTkRotation.h File Reference

#include "DataFormats/GeometryVector/interface/Basic2DVector.h"
#include "DataFormats/GeometryVector/interface/Basic3DVector.h"
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
#include "DataFormats/Math/interface/SSERot.h"
#include <iosfwd>

Go to the source code of this file.

Classes

class  TkRotation< T >
class  TkRotation2D< T >

Namespaces

namespace  geometryDetails

Functions

template<class T , class U >
Basic3DVector< U > operator* (const TkRotation< T > &r, const Basic3DVector< U > &v)
template<class T , class U >
TkRotation< typename
PreciseFloatType< T, U >::Type > 
operator* (const TkRotation< T > &a, const TkRotation< U > &b)
template<class T >
std::ostream & operator<< (std::ostream &s, const TkRotation2D< T > &r)
template<class T >
std::ostream & operator<< (std::ostream &s, const TkRotation< T > &r)
template<>
std::ostream & operator<< < double > (std::ostream &s, const TkRotation2D< double > &r)
template<>
std::ostream & operator<< < double > (std::ostream &s, const TkRotation< double > &r)
template<>
std::ostream & operator<< < float > (std::ostream &s, const TkRotation2D< float > &r)
template<>
std::ostream & operator<< < float > (std::ostream &s, const TkRotation< float > &r)
void geometryDetails::TkRotationErr1 ()
void geometryDetails::TkRotationErr2 ()

Function Documentation

template<class T , class U >
Basic3DVector<U> operator* ( const TkRotation< T > &  r,
const Basic3DVector< U > &  v 
) [inline]
template<class T , class U >
TkRotation<typename PreciseFloatType<T,U>::Type> operator* ( const TkRotation< T > &  a,
const TkRotation< U > &  b 
) [inline]

Definition at line 284 of file newTkRotation.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().

                                                           {
    typedef TkRotation<typename PreciseFloatType<T,U>::Type> RT;
    return RT( a.xx()*b.xx() + a.xy()*b.yx() + a.xz()*b.zx(),
               a.xx()*b.xy() + a.xy()*b.yy() + a.xz()*b.zy(),
               a.xx()*b.xz() + a.xy()*b.yz() + a.xz()*b.zz(),
               a.yx()*b.xx() + a.yy()*b.yx() + a.yz()*b.zx(),
               a.yx()*b.xy() + a.yy()*b.yy() + a.yz()*b.zy(),
               a.yx()*b.xz() + a.yy()*b.yz() + a.yz()*b.zz(),
               a.zx()*b.xx() + a.zy()*b.yx() + a.zz()*b.zx(),
               a.zx()*b.xy() + a.zy()*b.yy() + a.zz()*b.zy(),
               a.zx()*b.xz() + a.zy()*b.yz() + a.zz()*b.zz());
}
template<class T >
std::ostream& operator<< ( std::ostream &  s,
const TkRotation2D< T > &  r 
)
template<class T >
std::ostream& operator<< ( std::ostream &  s,
const TkRotation< T > &  r 
)
template<>
std::ostream& operator<< < double > ( std::ostream &  s,
const TkRotation2D< double > &  r 
)

Definition at line 24 of file TkRotation.cc.

References TkRotation2D< T >::x(), and TkRotation2D< T >::y().

                                                                                   {
  return s << rtmp.x() << "\n" << rtmp.y();
}
template<>
std::ostream& operator<< < double > ( std::ostream &  s,
const TkRotation< double > &  r 
)

Definition at line 12 of file TkRotation.cc.

                                                                                 {
  return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
           << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
           << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
} 
template<>
std::ostream& operator<< < float > ( std::ostream &  s,
const TkRotation2D< float > &  r 
)

Definition at line 19 of file TkRotation.cc.

References TkRotation2D< T >::x(), and TkRotation2D< T >::y().

                                                                                 {
  return s << rtmp.x() << "\n" << rtmp.y();
}
template<>
std::ostream& operator<< < float > ( std::ostream &  s,
const TkRotation< float > &  r 
)

Definition at line 5 of file TkRotation.cc.

                                                                               {
  return s << " (" << rtmp.xx() << ',' << rtmp.xy() << ',' << rtmp.xz() << ")\n"
           << " (" << rtmp.yx() << ',' << rtmp.yy() << ',' << rtmp.yz() << ")\n"
           << " (" << rtmp.zx() << ',' << rtmp.zy() << ',' << rtmp.zz() << ") ";
}