CMS 3D CMS Logo

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

Namespaces

 geometryDetails
 

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 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

◆ operator*() [1/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 284 of file newTkRotation.h.

284  {
286  return RT( a.xx()*b.xx() + a.xy()*b.yx() + a.xz()*b.zx(),
287  a.xx()*b.xy() + a.xy()*b.yy() + a.xz()*b.zy(),
288  a.xx()*b.xz() + a.xy()*b.yz() + a.xz()*b.zz(),
289  a.yx()*b.xx() + a.yy()*b.yx() + a.yz()*b.zx(),
290  a.yx()*b.xy() + a.yy()*b.yy() + a.yz()*b.zy(),
291  a.yx()*b.xz() + a.yy()*b.yz() + a.yz()*b.zz(),
292  a.zx()*b.xx() + a.zy()*b.yx() + a.zz()*b.zx(),
293  a.zx()*b.xy() + a.zy()*b.yy() + a.zz()*b.zy(),
294  a.zx()*b.xz() + a.zy()*b.yz() + a.zz()*b.zz());
295 }

References a, and b.

◆ operator*() [2/2]

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

Definition at line 276 of file newTkRotation.h.

276  {
277  return Basic3DVector<U>( r.xx()*v.x() + r.xy()*v.y() + r.xz()*v.z(),
278  r.yx()*v.x() + r.yy()*v.y() + r.yz()*v.z(),
279  r.zx()*v.x() + r.zy()*v.y() + r.zz()*v.z());
280 }

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

◆ operator<<() [1/2]

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

◆ operator<<() [2/2]

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

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

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

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

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

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

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

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

template<>
std::ostream& operator<<< float > ( std::ostream &  s,
const TkRotation< float > &  r 
)
TkRotation
Definition: extTkRotation.h:13
findQualityFiles.v
v
Definition: findQualityFiles.py:179
b
double b
Definition: hdecay.h:118
a
double a
Definition: hdecay.h:119
alignCSCRings.r
r
Definition: alignCSCRings.py:93
Basic3DVector
Definition: extBasic3DVector.h:30