CMS 3D CMS Logo

Classes | Namespaces | Functions
sseTkRotation.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  TkRotation< T >
 
class  TkRotation2D< T >
 
class  TkRotation2D< T >
 

Namespaces

 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 TkRotation< T > &r)
 
template<class T >
std::ostream & operator<< (std::ostream &s, const TkRotation2D< T > &r)
 
template<>
std::ostream & operator<<< double > (std::ostream &s, const TkRotation< double > &r)
 
template<>
std::ostream & operator<<< double > (std::ostream &s, const TkRotation2D< double > &r)
 
template<>
std::ostream & operator<<< float > (std::ostream &s, const TkRotation< float > &r)
 
template<>
std::ostream & operator<<< float > (std::ostream &s, const TkRotation2D< float > &r)
 
void geometryDetails::TkRotationErr1 ()
 
void geometryDetails::TkRotationErr2 ()
 

Function Documentation

◆ operator*() [1/2]

template<class T , class U >
Basic3DVector<U> operator* ( const TkRotation< T > &  r,
const Basic3DVector< U > &  v 
)
inline

Definition at line 214 of file sseTkRotation.h.

References alignCSCRings::r, and findQualityFiles::v.

214  {
215  return Basic3DVector<U>(r.xx() * v.x() + r.xy() * v.y() + r.xz() * v.z(),
216  r.yx() * v.x() + r.yy() * v.y() + r.yz() * v.z(),
217  r.zx() * v.x() + r.zy() * v.y() + r.zz() * v.z());
218 }

◆ operator*() [2/2]

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

Definition at line 221 of file sseTkRotation.h.

References a, and b.

221  {
223  return RT(a.xx() * b.xx() + a.xy() * b.yx() + a.xz() * b.zx(),
224  a.xx() * b.xy() + a.xy() * b.yy() + a.xz() * b.zy(),
225  a.xx() * b.xz() + a.xy() * b.yz() + a.xz() * b.zz(),
226  a.yx() * b.xx() + a.yy() * b.yx() + a.yz() * b.zx(),
227  a.yx() * b.xy() + a.yy() * b.yy() + a.yz() * b.zy(),
228  a.yx() * b.xz() + a.yy() * b.yz() + a.yz() * b.zz(),
229  a.zx() * b.xx() + a.zy() * b.yx() + a.zz() * b.zx(),
230  a.zx() * b.xy() + a.zy() * b.yy() + a.zz() * b.zy(),
231  a.zx() * b.xz() + a.zy() * b.yz() + a.zz() * b.zz());
232 }
double b
Definition: hdecay.h:118
double a
Definition: hdecay.h:119

◆ operator<<() [1/2]

template<class T >
std::ostream& operator<< ( std::ostream &  s,
const TkRotation< T > &  r 
)

◆ operator<<() [2/2]

template<class T >
std::ostream& operator<< ( std::ostream &  s,
const TkRotation2D< T > &  r 
)

◆ operator<<< double >() [1/2]

template<>
std::ostream& operator<<< double > ( std::ostream &  s,
const TkRotation< double > &  r 
)

Definition at line 12 of file TkRotation.cc.

References alignCSCRings::s.

12  {
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 }

◆ operator<<< double >() [2/2]

template<>
std::ostream& operator<<< double > ( std::ostream &  s,
const TkRotation2D< double > &  r 
)

Definition at line 24 of file TkRotation.cc.

References alignCSCRings::s.

24  {
25  return s << rtmp.x() << "\n" << rtmp.y();
26 }

◆ operator<<< float >() [1/2]

template<>
std::ostream& operator<<< float > ( std::ostream &  s,
const TkRotation< float > &  r 
)

Definition at line 5 of file TkRotation.cc.

References alignCSCRings::s.

5  {
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 }

◆ operator<<< float >() [2/2]

template<>
std::ostream& operator<<< float > ( std::ostream &  s,
const TkRotation2D< float > &  r 
)

Definition at line 19 of file TkRotation.cc.

References alignCSCRings::s.

19  {
20  return s << rtmp.x() << "\n" << rtmp.y();
21 }