Vector Template Functions
[SMatrix]


Functions

template<class T, unsigned int D>
VecExpr< BinaryOp< AddOp<
T >, SVector< T, D >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator+ (const SVector< T, D > &lhs, const SVector< T, D > &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< AddOp<
T >, SVector< T, D >, Constant<
A >, T >, T, D > 
ROOT::Math::operator+ (const SVector< T, D > &lhs, const A &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< AddOp<
T >, Constant< A >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator+ (const A &lhs, const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< BinaryOp< MinOp<
T >, SVector< T, D >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator- (const SVector< T, D > &lhs, const SVector< T, D > &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< MinOp<
T >, SVector< T, D >, Constant<
A >, T >, T, D > 
ROOT::Math::operator- (const SVector< T, D > &lhs, const A &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< MinOp<
T >, Constant< A >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator- (const A &lhs, const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< BinaryOp< MulOp<
T >, SVector< T, D >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator * (const SVector< T, D > &lhs, const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< BinaryOp< DivOp<
T >, SVector< T, D >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator/ (const SVector< T, D > &lhs, const SVector< T, D > &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< DivOp<
T >, SVector< T, D >, Constant<
A >, T >, T, D > 
ROOT::Math::operator/ (const SVector< T, D > &lhs, const A &rhs)
template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< DivOp<
T >, Constant< A >, SVector<
T, D >, T >, T, D > 
ROOT::Math::operator/ (const A &lhs, const SVector< T, D > &rhs)
template<class T, unsigned int D>
T ROOT::Math::Dot (const SVector< T, D > &lhs, const SVector< T, D > &rhs)
template<class T, unsigned int D>
T ROOT::Math::Mag2 (const SVector< T, D > &rhs)
template<class T, unsigned int D>
T ROOT::Math::Mag (const SVector< T, D > &rhs)
template<class T>
T ROOT::Math::Lmag2 (const SVector< T, 4 > &rhs)
template<class T>
T ROOT::Math::Lmag (const SVector< T, 4 > &rhs)
template<class T>
SVector< T, 3 > ROOT::Math::Cross (const SVector< T, 3 > &lhs, const SVector< T, 3 > &rhs)
template<class T, unsigned int D>
SVector< T, D > ROOT::Math::Unit (const SVector< T, D > &rhs)
template<class T, unsigned int D1, unsigned int D2>
Expr< TensorMulOp< SVector<
T, D1 >, SVector< T, D2 > >,
T, D1, D2 > 
ROOT::Math::TensorProd (const SVector< T, D1 > &lhs, const SVector< T, D2 > &rhs)
template<class T, unsigned int D>
VecExpr< UnaryOp< Minus< T >,
SVector< T, D >, T >, T,
D > 
ROOT::Math::operator- (const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< UnaryOp< Fabs< T >,
SVector< T, D >, T >, T,
D > 
ROOT::Math::fabs (const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< UnaryOp< Sqr< T >,
SVector< T, D >, T >, T,
D > 
ROOT::Math::sqr (const SVector< T, D > &rhs)
template<class T, unsigned int D>
VecExpr< UnaryOp< Sqrt< T >,
SVector< T, D >, T >, T,
D > 
ROOT::Math::sqrt (const SVector< T, D > &rhs)

Detailed Description

These functions apply to SVector types (and also to Vector expressions) and can return a vector expression or a scalar, like in the Dot product, or a matrix, like in the Tensor product

Function Documentation

template<class T>
SVector< T, 3 > ROOT::Math::Cross ( const SVector< T, 3 > &  lhs,
const SVector< T, 3 > &  rhs 
) [inline]

Vector Cross Product (only for 3-dim vectors) $ \vec{c} = \vec{a}\times\vec{b} $.

Author:
T. Glebe

Definition at line 324 of file Functions.h.

References ROOT::Math::SVector< T, D >::apply().

Referenced by ROOT::Math::Plane3D::BuildFrom3Points().

template<class T, unsigned int D>
T ROOT::Math::Dot ( const SVector< T, D > &  lhs,
const SVector< T, D > &  rhs 
) [inline]

Vector dot product. Template to compute $\vec{a}\cdot\vec{b} = \sum_i a_i\cdot b_i $.

Author:
T. Glebe

Definition at line 166 of file Functions.h.

References T.

Referenced by ROOT::Math::Similarity(), and TestRunner< NDIM1, NDIM2 >::test_smatrix_sym_kalman().

template<class T, unsigned int D>
VecExpr< UnaryOp< Fabs< T >, SVector< T, D >, T >, T, D > ROOT::Math::fabs ( const SVector< T, D > &  rhs  )  [inline]

abs of a vector : v2(i) = | v1(i) | returning a vector expression

Definition at line 147 of file UnaryOperators.h.

References T.

template<class T>
T ROOT::Math::Lmag ( const SVector< T, 4 > &  rhs  )  [inline]

Lmag: Minkowski Lorentz-Vector norm (only for 4-dim vectors) Length of a vector Lorentz-Vector: $ |\vec{v}| = \sqrt{v_0^2 - v_1^2 - v_2^2 -v_3^2} $.

Author:
T. Glebe

Definition at line 301 of file Functions.h.

References ROOT::Math::Lmag2(), and sqrt().

template<class T>
T ROOT::Math::Lmag2 ( const SVector< T, 4 > &  rhs  )  [inline]

Lmag2: Square of Minkowski Lorentz-Vector norm (only for 4D Vectors) Template to compute $ |\vec{v}|^2 = v_0^2 - v_1^2 - v_2^2 -v_3^2 $.

Author:
T. Glebe

Definition at line 277 of file Functions.h.

References ROOT::Math::Square().

Referenced by ROOT::Math::Lmag().

template<class T, unsigned int D>
T ROOT::Math::Mag ( const SVector< T, D > &  rhs  )  [inline]

Vector magnitude (Euclidian norm) Compute : $ |\vec{v}| = \sqrt{\sum_iv_i^2} $.

Author:
T. Glebe

Definition at line 254 of file Functions.h.

References ROOT::Math::Mag2(), and sqrt().

template<class T, unsigned int D>
T ROOT::Math::Mag2 ( const SVector< T, D > &  rhs  )  [inline]

Vector magnitude square Template to compute $|\vec{v}|^2 = \sum_iv_i^2 $.

Author:
T. Glebe

Definition at line 231 of file Functions.h.

References T.

Referenced by ROOT::Math::Mag().

template<class T, unsigned int D>
VecExpr< BinaryOp< MulOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > ROOT::Math::operator * ( const SVector< T, D > &  lhs,
const SVector< T, D > &  rhs 
) [inline]

Element by element vector product v3(i) = v1(i)*v2(i) returning a vector expression. Note this is NOT the Dot, Cross or Tensor product.

Definition at line 549 of file BinaryOperators.h.

References T.

Referenced by G__G__GenVector_99_0_10(), G__G__GenVector_99_0_11(), G__G__GenVector_99_0_12(), G__G__GenVector_99_0_13(), G__G__GenVector_99_0_14(), G__G__GenVector_99_0_16(), G__G__GenVector_99_0_17(), G__G__GenVector_99_0_18(), G__G__GenVector_99_0_28(), G__G__GenVector_99_0_29(), G__G__GenVector_99_0_30(), G__G__GenVector_99_0_32(), G__G__GenVector_99_0_33(), G__G__GenVector_99_0_34(), G__G__GenVector_99_0_36(), G__G__GenVector_99_0_37(), G__G__GenVector_99_0_38(), G__G__GenVector_99_0_41(), G__G__GenVector_99_0_42(), G__G__GenVector_99_0_43(), G__G__GenVector_99_0_44(), G__G__GenVector_99_0_45(), G__G__GenVector_99_0_46(), G__G__GenVector_99_0_47(), G__G__GenVector_99_0_48(), G__G__GenVector_99_0_49(), G__G__GenVector_99_0_50(), G__G__GenVector_99_0_51(), G__G__GenVector_99_0_52(), G__G__GenVector_99_0_53(), G__G__GenVector_99_0_54(), G__G__GenVector_99_0_55(), G__G__GenVector_99_0_56(), G__G__GenVector_99_0_57(), G__G__GenVector_99_0_58(), G__G__GenVector_99_0_59(), G__G__GenVector_99_0_6(), G__G__GenVector_99_0_60(), G__G__GenVector_99_0_61(), G__G__GenVector_99_0_62(), G__G__GenVector_99_0_63(), G__G__GenVector_99_0_64(), G__G__GenVector_99_0_65(), G__G__GenVector_99_0_66(), G__G__GenVector_99_0_67(), G__G__GenVector_99_0_68(), G__G__GenVector_99_0_69(), G__G__GenVector_99_0_7(), G__G__GenVector_99_0_70(), G__G__GenVector_99_0_71(), G__G__GenVector_99_0_72(), G__G__GenVector_99_0_73(), G__G__GenVector_99_0_74(), G__G__GenVector_99_0_77(), G__G__GenVector_99_0_78(), G__G__GenVector_99_0_79(), G__G__GenVector_99_0_8(), and G__G__GenVector_99_0_9().

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< AddOp< T >, Constant< A >, SVector< T, D >, T >, T, D > ROOT::Math::operator+ ( const A lhs,
const SVector< T, D > &  rhs 
) [inline]

Addition of a scalar to each vector element v2(i) = a + v1(i) returning a vector expression

Definition at line 134 of file BinaryOperators.h.

References T.

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< AddOp< T >, SVector< T, D >, Constant< A >, T >, T, D > ROOT::Math::operator+ ( const SVector< T, D > &  lhs,
const A rhs 
) [inline]

Addition of a scalar to a each vector element: v2(i) = v1(i) + a returning a vector expression

Definition at line 117 of file BinaryOperators.h.

References T.

template<class T, unsigned int D>
VecExpr< BinaryOp< AddOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > ROOT::Math::operator+ ( const SVector< T, D > &  lhs,
const SVector< T, D > &  rhs 
) [inline]

Addition of two vectors v3 = v1+v2 returning a vector expression

Definition at line 63 of file BinaryOperators.h.

References T.

Referenced by G__G__GenVector_99_0_106(), G__G__GenVector_99_0_107(), G__G__GenVector_99_0_108(), G__G__GenVector_99_0_109(), G__G__GenVector_99_0_110(), G__G__GenVector_99_0_111(), G__G__GenVector_99_0_112(), G__G__GenVector_99_0_113(), G__G__GenVector_99_0_114(), G__G__GenVector_99_0_115(), G__G__GenVector_99_0_116(), G__G__GenVector_99_0_117(), G__G__GenVector_99_0_80(), G__G__GenVector_99_0_81(), G__G__GenVector_99_0_82(), G__G__GenVector_99_0_83(), G__G__GenVector_99_0_84(), G__G__GenVector_99_0_85(), G__G__GenVector_99_0_86(), G__G__GenVector_99_0_87(), G__G__GenVector_99_0_88(), G__G__GenVector_99_0_89(), G__G__GenVector_99_0_90(), G__G__GenVector_99_0_91(), and G__G__GenVector_99_0_92().

template<class T, unsigned int D>
VecExpr< UnaryOp< Minus< T >, SVector< T, D >, T >, T, D > ROOT::Math::operator- ( const SVector< T, D > &  rhs  )  [inline]

Unary - operator v2 = -v1 . returning a vector expression

Definition at line 72 of file UnaryOperators.h.

References T.

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< MinOp< T >, Constant< A >, SVector< T, D >, T >, T, D > ROOT::Math::operator- ( const A lhs,
const SVector< T, D > &  rhs 
) [inline]

Subtraction scalar vector (for each vector element) v2(i) = a - v1(i) returning a vector expression

Definition at line 378 of file BinaryOperators.h.

References T.

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< MinOp< T >, SVector< T, D >, Constant< A >, T >, T, D > ROOT::Math::operator- ( const SVector< T, D > &  lhs,
const A rhs 
) [inline]

Subtraction of a scalar from each vector element: v2(i) = v1(i) - a returning a vector expression

Definition at line 361 of file BinaryOperators.h.

References T.

template<class T, unsigned int D>
VecExpr< BinaryOp< MinOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > ROOT::Math::operator- ( const SVector< T, D > &  lhs,
const SVector< T, D > &  rhs 
) [inline]

Vector Subtraction: v3 = v1 - v2 returning a vector expression

Definition at line 307 of file BinaryOperators.h.

References T.

Referenced by G__G__GenVector_99_0_100(), G__G__GenVector_99_0_101(), G__G__GenVector_99_0_102(), G__G__GenVector_99_0_103(), G__G__GenVector_99_0_104(), G__G__GenVector_99_0_105(), G__G__GenVector_99_0_118(), G__G__GenVector_99_0_119(), G__G__GenVector_99_0_120(), G__G__GenVector_99_0_121(), G__G__GenVector_99_0_122(), G__G__GenVector_99_0_123(), G__G__GenVector_99_0_124(), G__G__GenVector_99_0_125(), G__G__GenVector_99_0_126(), G__G__GenVector_99_0_127(), G__G__GenVector_99_0_128(), G__G__GenVector_99_0_129(), G__G__GenVector_99_0_93(), G__G__GenVector_99_0_94(), G__G__GenVector_99_0_95(), G__G__GenVector_99_0_96(), G__G__GenVector_99_0_97(), G__G__GenVector_99_0_98(), and G__G__GenVector_99_0_99().

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyL< DivOp< T >, Constant< A >, SVector< T, D >, T >, T, D > ROOT::Math::operator/ ( const A lhs,
const SVector< T, D > &  rhs 
) [inline]

Division of a scalar value by the vector element: v2(i) = a/v1(i) returning a vector expression

Definition at line 855 of file BinaryOperators.h.

References T.

template<class A, class T, unsigned int D>
VecExpr< BinaryOpCopyR< DivOp< T >, SVector< T, D >, Constant< A >, T >, T, D > ROOT::Math::operator/ ( const SVector< T, D > &  lhs,
const A rhs 
) [inline]

Division of the vector element by a scalar value: v2(i) = v1(i)/a returning a vector expression

Definition at line 838 of file BinaryOperators.h.

References T.

template<class T, unsigned int D>
VecExpr< BinaryOp< DivOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > ROOT::Math::operator/ ( const SVector< T, D > &  lhs,
const SVector< T, D > &  rhs 
) [inline]

Element by element division of vectors of the same dimension: v3(i) = v1(i)/v2(i) returning a vector expression

Definition at line 785 of file BinaryOperators.h.

References T.

template<class T, unsigned int D>
VecExpr< UnaryOp< Sqr< T >, SVector< T, D >, T >, T, D > ROOT::Math::sqr ( const SVector< T, D > &  rhs  )  [inline]

square of a vector v2(i) = v1(i)*v1(i) . returning a vector expression

Definition at line 222 of file UnaryOperators.h.

References T.

template<class T, unsigned int D>
VecExpr< UnaryOp< Sqrt< T >, SVector< T, D >, T >, T, D > ROOT::Math::sqrt ( const SVector< T, D > &  rhs  )  [inline]

square root of a vector (element by element) v2(i) = sqrt( v1(i) ) returning a vector expression

Definition at line 297 of file UnaryOperators.h.

References T.

template<class T, unsigned int D1, unsigned int D2>
Expr< TensorMulOp< SVector< T, D1 >, SVector< T, D2 > >, T, D1, D2 > ROOT::Math::TensorProd ( const SVector< T, D1 > &  lhs,
const SVector< T, D2 > &  rhs 
) [inline]

Tensor Vector Product : M(i,j) = v(i) * v(j) returning a matrix expression

Definition at line 862 of file MatrixFunctions.h.

template<class T, unsigned int D>
SVector< T, D > ROOT::Math::Unit ( const SVector< T, D > &  rhs  )  [inline]

Unit. Return a vector of unit lenght: $ \vec{e}_v = \vec{v}/|\vec{v}| $.

Author:
T. Glebe

Definition at line 383 of file Functions.h.

Referenced by ROOT::Math::Transform3D::Transform3D(), and ROOT::Math::Unit().


Generated on Tue Jul 5 16:09:40 2011 for ROOT_528-00b_version by  doxygen 1.5.1