1 #ifndef Geom_oldTkRotation_H
2 #define Geom_oldTkRotation_H
16 std::ostream & operator<<( std::ostream& s, const TkRotation<T>&
r);
18 namespace geometryDetails {
133 template <
typename U>
157 #ifndef CMS_NO_TEMPLATE_MEMBERS
158 template <
class Scalar>
209 return *
this = b.operator * (*this);
225 fabs(newX.
mag2()-1.) > del ||
226 fabs(newY.
mag2()-1.) > del ||
227 fabs(newZ.
mag2()-1.) > del ||
228 fabs(newX.
dot(newY)) > del ||
229 fabs(newY.
dot(newZ)) > del ||
230 fabs(newZ.
dot(newX)) > del) {
235 newX.
y(), newY.
y(), newZ.
y(),
236 newX.
z(), newY.
z(), newZ.
z()));
270 template <
class T,
class U>
273 r.
yx()*v.
x() + r.
yy()*v.
y() + r.
yz()*v.
z(),
274 r.
zx()*v.
x() + r.
zy()*v.
y() + r.
zz()*v.
z());
277 template <
class T,
class U>
281 return RT( a.
xx()*b.
xx() + a.
xy()*b.
yx() + a.
xz()*b.
zx(),
Basic3DVector< T > z() const
Basic3DVector< T > operator*(const Basic3DVector< T > &v) const
TkRotation(const GlobalVector &aX, const GlobalVector &aY)
std::ostream & operator<< < float >(std::ostream &s, const TkRotation< float > &r)
T y() const
Cartesian y coordinate.
T x() const
Cartesian x coordinate.
Basic3DVector< T > y() const
TkRotation(const GlobalVector &aX, const GlobalVector &aY, const GlobalVector &aZ)
TkRotation(const Basic3DVector< T > &axis, T phi)
TkRotation & transform(const TkRotation &b)
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
TkRotation operator*(const TkRotation &b) const
Basic3DVector< Scalar > multiplyInverse(const Basic3DVector< Scalar > &v) const
Vector3DBase< T, GlobalTag > GlobalVector
TkRotation multiplyInverse(const TkRotation &b) const
Geom::Phi< T > phi() const
TkRotation(const TkRotation< U > &a)
TkRotation & rotateAxes(const Basic3DVector< T > &newX, const Basic3DVector< T > &newY, const Basic3DVector< T > &newZ)
Basic3DVector< T > x() const
T z() const
Cartesian z coordinate.
TkRotation(T xx, T xy, T xz, T yx, T yy, T yz, T zx, T zy, T zz)
Basic3DVector< T > operator*(const Basic2DVector< T > &v) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
Cos< T >::type cos(const T &t)
Basic3DVector< T > multiplyInverse(const Basic2DVector< T > &v) const
T y() const
Cartesian y coordinate.
Vector3DBase unit() const
TkRotation & operator*=(const TkRotation &b)
std::ostream & operator<< < double >(std::ostream &s, const TkRotation< double > &r)
TkRotation transposed() const
MatrixMeschach operator*(const MatrixMeschach &mat1, const MatrixMeschach &mat2)
Basic3DVector< T > multiplyInverse(const Basic3DVector< T > &v) const
T x() const
Cartesian x coordinate.
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
T dot(const Basic3DVector &rh) const
Scalar product, or "dot" product, with a vector of same type.