| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Gaudi::Math::Operators Namespace Reference

LHCbMath/MatrixTransforms.h. More...


Functions

template<class C, class T>
ROOT::Math::PositionVector3D<
C > 
operator+ (const ROOT::Math::PositionVector3D< C > &p1, const ROOT::Math::SVector< T, 3 > &v2)
 addition of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::PositionVector3D<
C > 
operator+ (const ROOT::Math::PositionVector3D< C > &p1, const ROOT::Math::VecExpr< B, T, 3 > &v2)
template<class C, class T>
ROOT::Math::DisplacementVector3D<
C > 
operator+ (const ROOT::Math::DisplacementVector3D< C > &p1, const ROOT::Math::SVector< T, 3 > &v2)
 addition of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::DisplacementVector3D<
C > 
operator+ (const ROOT::Math::DisplacementVector3D< C > &p1, const ROOT::Math::VecExpr< B, T, 3 > &v2)
template<class C, class T>
ROOT::Math::LorentzVector< C > operator+ (const ROOT::Math::LorentzVector< C > &p1, const ROOT::Math::SVector< T, 4 > &v2)
 addition of Lorentz vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::LorentzVector< C > operator+ (const ROOT::Math::LorentzVector< C > &p1, const ROOT::Math::VecExpr< B, T, 4 > &v2)
template<class C, class T>
ROOT::Math::SVector< T, 3 > operator+ (const ROOT::Math::SVector< T, 3 > &v2, const ROOT::Math::PositionVector3D< C > &p1)
 addition of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 3 > operator+ (const ROOT::Math::VecExpr< B, T, 3 > &v2, const ROOT::Math::PositionVector3D< C > &p1)
template<class C, class T>
ROOT::Math::SVector< T, 3 > operator+ (const ROOT::Math::SVector< T, 3 > &v2, const ROOT::Math::DisplacementVector3D< C > &p1)
 addition of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 3 > operator+ (const ROOT::Math::VecExpr< B, T, 3 > &v2, const ROOT::Math::DisplacementVector3D< C > &p1)
template<class C, class T>
ROOT::Math::SVector< T, 4 > operator+ (const ROOT::Math::SVector< T, 4 > &v2, const ROOT::Math::LorentzVector< C > &p1)
 addition of Lorentz vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 4 > operator+ (const ROOT::Math::VecExpr< B, T, 4 > &v2, const ROOT::Math::LorentzVector< C > &p1)
template<class C, class T>
ROOT::Math::PositionVector3D<
C > 
operator- (const ROOT::Math::PositionVector3D< C > &p1, const ROOT::Math::SVector< T, 3 > &v2)
 subtraction of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::PositionVector3D<
C > 
operator- (const ROOT::Math::PositionVector3D< C > &p1, const ROOT::Math::VecExpr< B, T, 3 > &v2)
template<class C, class T>
ROOT::Math::DisplacementVector3D<
C > 
operator- (const ROOT::Math::DisplacementVector3D< C > &p1, const ROOT::Math::SVector< T, 3 > &v2)
 subtraction of 3D-vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::DisplacementVector3D<
C > 
operator- (const ROOT::Math::DisplacementVector3D< C > &p1, const ROOT::Math::VecExpr< B, T, 3 > &v2)
template<class C, class T>
ROOT::Math::LorentzVector< C > operator- (const ROOT::Math::LorentzVector< C > &p1, const ROOT::Math::SVector< T, 4 > &v2)
 subtraction of Lorentz vector and the linear algebra vector
template<class C, class B, class T>
ROOT::Math::LorentzVector< C > operator- (const ROOT::Math::LorentzVector< C > &p1, const ROOT::Math::VecExpr< B, T, 4 > &v2)
template<class C, class T>
ROOT::Math::SVector< T, 4 > operator- (const ROOT::Math::SVector< T, 4 > &v1, const ROOT::Math::LorentzVector< C > &v2)
 subtract the Lorentz Vector from the Linear Algebra -vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 4 > operator- (const ROOT::Math::VecExpr< B, T, 4 > &v1, const ROOT::Math::LorentzVector< C > &v2)
template<class C, class T>
ROOT::Math::SVector< T, 3 > operator- (const ROOT::Math::SVector< T, 3 > &v1, const ROOT::Math::PositionVector3D< C > &v2)
 subtract the 3D Vector from the Linear Algebra -vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 3 > operator- (const ROOT::Math::VecExpr< B, T, 3 > &v1, const ROOT::Math::PositionVector3D< C > &v2)
template<class C, class T>
ROOT::Math::SVector< T, 3 > operator- (const ROOT::Math::SVector< T, 3 > &v1, const ROOT::Math::DisplacementVector3D< C > &v2)
 subtract the 3D Vector from the Linear Algebra -vector
template<class C, class B, class T>
ROOT::Math::SVector< T, 3 > operator- (const ROOT::Math::VecExpr< B, T, 3 > &v1, const ROOT::Math::DisplacementVector3D< C > &v2)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::SMatrix< T, D, 4, R > &mrtx, const ROOT::Math::LorentzVector< C > &vect)
 multiply the matrix and the Lorenz vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::Expr< B, T, D, 4, R > &mtrx, const ROOT::Math::LorentzVector< C > &vect)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::LorentzVector< C > &vect, const ROOT::Math::SMatrix< T, 4, D, R > &mtrx)
 multiply the matrix and the Lorenz vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::LorentzVector< C > &vect, const ROOT::Math::Expr< B, T, 4, D, R > &mtrx)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::SMatrix< T, D, 3, R > &mtrx, const ROOT::Math::DisplacementVector3D< C > &vect)
 multiply the matrix and 3D-vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::Expr< B, T, D, 3, R > &mtrx, const ROOT::Math::DisplacementVector3D< C > &vect)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::DisplacementVector3D< C > &vect, const ROOT::Math::SMatrix< T, 3, D, R > &mtrx)
 multiply the matrix and the 3D-vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::DisplacementVector3D< C > &vect, const ROOT::Math::Expr< B, T, 3, D, R > &mtrx)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::SMatrix< T, D, 3, R > &mtrx, const ROOT::Math::PositionVector3D< C > &vect)
 multiply the matrix and 3D-vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::Expr< B, T, D, 3, R > &mtrx, const ROOT::Math::PositionVector3D< C > &vect)
template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::PositionVector3D< C > &vect, const ROOT::Math::SMatrix< T, 3, D, R > &mtrx)
 multiply the matrix and the 3D-vector
template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector< T, D > operator * (const ROOT::Math::PositionVector3D< C > &vect, const ROOT::Math::Expr< B, T, 3, D, R > &mtrx)

Detailed Description

LHCbMath/MatrixTransforms.h.

The helper namespace which contains inline operators for various objects from the world of "Geometry&Kinematics" and the object from the world of Linear Algebra

The existence of thes e operator drastically simplifies the code, dealing with kinematical and/or topolofical calculations, in particular the implementation of various kinematical fitters

To make these operators vizible for the real code one needs to use using directive, e.g.

   StatusCode myFunction ( ... ) 
   {
       // get access to the useful operators:
       using namespace Gaudi::Math::Operators ; // NB! 

        ... use the operators ... 
   } 

The First Operand Type The Operator The Second Operand Type The Result Type

ROOT::Math::PositionVector3D<C> + ROOT::Math::SVector&<T,3> ROOT::Math::PositionVector3D<C>
ROOT::Math::PositionVector3D<C> + ROOT::Math::VecExpr<B,T,3>; ROOT::Math::PositionVector3D<C>
ROOT::Math::PositionVector3D<C> - ROOT::Math::SVector<T,3> ROOT::Math::PositionVector3D<C>
ROOT::Math::PositionVector3D<C> - ROOT::Math::VecExpr<B,T,3> ROOT::Math::PositionVector3D<C>

ROOT::Math::DisplacementVector3D<C> + ROOT::Math::SVector<T,3> ROOT::Math::DisplacementVector3D<C>
ROOT::Math::DisplacementVector3D<C> + ROOT::Math::VecExpr<B,T,3> ROOT::Math::DisplacementVector3D<C>
ROOT::Math::DisplacementVector3D<C> - ROOT::Math::SVector<T,3> ROOT::Math::DisplacementVector3D<C>
ROOT::Math::DisplacementVector3D<C> - ROOT::Math::VecExpr<B,T,3> ROOT::Math::DisplacementVector3D<C>

ROOT::Math::LorentzVector<C> + ROOT::Math::SVector<T,4> ROOT::Math::LorentzVector<C>
ROOT::Math::LorentzVector<C> + ROOT::Math::VecExpr<B,T,4> ROOT::Math::LorentzVector<C>
ROOT::Math::LorentzVector<C> - ROOT::Math::SVector<T,4> ROOT::Math::LorentzVector<C>
ROOT::Math::LorentzVector<C> - ROOT::Math::VecExpr<B,T,4> ROOT::Math::LorentzVector<C>

ROOT::Math::SVector<T,3> + ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::VecExpr<B,T,3> + ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::SVector<T,3> - ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::VecExpr<B,T,3> - ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,3>

ROOT::Math::SVector<T,3> + ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::VecExpr<B,T,3> + ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::SVector<T,3> - ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,3>
ROOT::Math::VecExpr<B,T,3> - ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,3>

ROOT::Math::SVector<T,4> + ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,4>
ROOT::Math::VecExpr<B,T,4> + ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,4>
ROOT::Math::SVector<T,4> - ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,4>
ROOT::Math::VecExpr<B,T,4> - ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,4>

ROOT::Math::SMatrix<T,D,3,R> * ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,D>
ROOT::Math::Expr<B,T,D,3,R> * ROOT::Math::PositionVector3D<C> ROOT::Math::SVector<T,D>
ROOT::Math::PositionVector3D<C> * ROOT::Math::SMatrix<T,3,D,R> ROOT::Math::SVector<T,D>
ROOT::Math::PositionVector3D<C> * ROOT::Math::Expr<B,T,3,D,R> ROOT::Math::SVector<T,D>

ROOT::Math::SMatrix<T,D,3,R> * ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,D>
ROOT::Math::Expr<B,T,D,3,R> * ROOT::Math::DisplacementVector3D<C> ROOT::Math::SVector<T,D>
ROOT::Math::DisplacementVector3D<C> * ROOT::Math::SMatrix<T,3,D,R> ROOT::Math::SVector<T,D>
ROOT::Math::DisplacementVector3D<C> * ROOT::Math::Expr<B,T,3,D,R> ROOT::Math::SVector<T,D>

ROOT::Math::SMatrix<T,D,4,R> * ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,D>
ROOT::Math::Expr<B,T,D,4,R> * ROOT::Math::LorentzVector<C> ROOT::Math::SVector<T,D>
ROOT::Math::LorentzVector<C> * ROOT::Math::SMatrix<T,4,D,R> ROOT::Math::SVector<T,D>
ROOT::Math::LorentzVector<C> * ROOT::Math::Expr<B,T,4,D,R> ROOT::Math::SVector<T,D>

Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14


Function Documentation

template<class C, class T>
ROOT::Math::PositionVector3D<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::PositionVector3D< C > &  p1,
const ROOT::Math::SVector< T, 3 > &  v2 
) [inline]

addition of 3D-vector and the linear algebra vector

  const Gaudi::XYZPoint& p1 = ... ;
  const Gaudi::Vector3&  v2 = ... ;

  Gaudi::XYZPoint p = p1 + v2 ; 

Parameters:
p1 the position vector (point)
v2 the linear algebra vector
Returns:
the effective position vector
Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-05

Definition at line 850 of file MatrixTransforms.h.

00852       {
00853         ROOT::Math::PositionVector3D<C> result  ;
00854         result.SetXYZ(  p1 . X () + v2 ( 0 ) , 
00855                         p1 . Y () + v2 ( 1 ) ,
00856                         p1 . Z () + v2 ( 2 ) ) ;
00857         return result ;
00858       }

template<class C, class B, class T>
ROOT::Math::PositionVector3D<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::PositionVector3D< C > &  p1,
const ROOT::Math::VecExpr< B, T, 3 > &  v2 
) [inline]

Definition at line 864 of file MatrixTransforms.h.

00866       {
00867         ROOT::Math::PositionVector3D<C> result  ;
00868         result.SetXYZ(  p1 . X () + v2 ( 0 ) , 
00869                         p1 . Y () + v2 ( 1 ) ,
00870                         p1 . Z () + v2 ( 2 ) ) ;
00871         return result ;
00872       }

template<class C, class T>
ROOT::Math::DisplacementVector3D<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::DisplacementVector3D< C > &  p1,
const ROOT::Math::SVector< T, 3 > &  v2 
) [inline]

addition of 3D-vector and the linear algebra vector

  const Gaudi::XYZVector& p1 = ... ;
  const Gaudi::Vector3&   v2 = ... ;

  Gaudi::XYZVector p = p1 + v2 ; 

Parameters:
p1 the displacement vector
v2 the linear algebra vector
Returns:
the effective displacement vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 896 of file MatrixTransforms.h.

00898       {
00899         ROOT::Math::PositionVector3D<C> result  ;
00900         result.SetXYZ(  p1 . X () + v2 ( 0 ) , 
00901                         p1 . Y () + v2 ( 1 ) ,
00902                         p1 . Z () + v2 ( 2 ) ) ;
00903         return result ;
00904       }

template<class C, class B, class T>
ROOT::Math::DisplacementVector3D<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::DisplacementVector3D< C > &  p1,
const ROOT::Math::VecExpr< B, T, 3 > &  v2 
) [inline]

Definition at line 910 of file MatrixTransforms.h.

00912       {
00913         ROOT::Math::PositionVector3D<C> result  ;
00914         result.SetXYZ(  p1 . X () + v2 ( 0 ) , 
00915                         p1 . Y () + v2 ( 1 ) ,
00916                         p1 . Z () + v2 ( 2 ) ) ;
00917         return result ;
00918       }

template<class C, class T>
ROOT::Math::LorentzVector<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::LorentzVector< C > &  p1,
const ROOT::Math::SVector< T, 4 > &  v2 
) [inline]

addition of Lorentz vector and the linear algebra vector

  const Gaudi::LorentzVector& p1 = ... ;
  const Gaudi::Vector4&       v2 = ... ;

  Gaudi::LorentzVector p = p1 + v2 ; 

Parameters:
p1 Lorentz vector
v2 the linear algebra vector
Returns:
the effective Lorentz vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 942 of file MatrixTransforms.h.

00944       {
00945         ROOT::Math::LorentzVector<C> result  ;
00946         result.SetXYZT 
00947           (  p1 . Px () + v2 ( 0 ) , 
00948              p1 . Py () + v2 ( 1 ) ,
00949              p1 . Pz () + v2 ( 2 ) ,
00950              p1 . E  () + v2 ( 3 ) ) ;
00951         return result ;
00952       }

template<class C, class B, class T>
ROOT::Math::LorentzVector<C> Gaudi::Math::Operators::operator+ ( const ROOT::Math::LorentzVector< C > &  p1,
const ROOT::Math::VecExpr< B, T, 4 > &  v2 
) [inline]

Definition at line 958 of file MatrixTransforms.h.

00960       {
00961         ROOT::Math::LorentzVector<C> result  ;
00962         result.SetXYZT 
00963           (  p1 . Px () + v2 ( 0 ) , 
00964              p1 . Py () + v2 ( 1 ) ,
00965              p1 . Pz () + v2 ( 2 ) ,
00966              p1 . E  () + v2 ( 3 ) ) ;
00967         return result ;
00968       }

template<class C, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator+ ( const ROOT::Math::SVector< T, 3 > &  v2,
const ROOT::Math::PositionVector3D< C > &  p1 
) [inline]

addition of 3D-vector and the linear algebra vector

  const Gaudi::Vector3&  v2 = ... ;
  const Gaudi::XYZPoint& p1 = ... ;

  Gaudi::Vector3 p = v2 + p1 ; 

Parameters:
v2 the linear algebra vector
p1 the position vector (point)
Returns:
the effective linear algebra vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 992 of file MatrixTransforms.h.

00994       {
00995         ROOT::Math::SVector<T,3> result ( v2 ) ;
00996         result ( 0 ) += p1 . X () ;
00997         result ( 1 ) += p1 . Y () ;
00998         result ( 2 ) += p1 . Z () ;
00999         return result ;
01000       }

template<class C, class B, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator+ ( const ROOT::Math::VecExpr< B, T, 3 > &  v2,
const ROOT::Math::PositionVector3D< C > &  p1 
) [inline]

Definition at line 1006 of file MatrixTransforms.h.

01008       {
01009         ROOT::Math::SVector<T,3> result = v2 ;
01010         result ( 0 ) += p1 . X () ;
01011         result ( 1 ) += p1 . Y () ;
01012         result ( 2 ) += p1 . Z () ;
01013         return result ;
01014       }

template<class C, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator+ ( const ROOT::Math::SVector< T, 3 > &  v2,
const ROOT::Math::DisplacementVector3D< C > &  p1 
) [inline]

addition of 3D-vector and the linear algebra vector

  const Gaudi::Vector3&   v2 = ... ;
  const Gaudi::XYZVector& p1 = ... ;

  Gaudi::Vector3 p = v2 + p1 ; 

Parameters:
v2 the linear algebra vector
p1 the displacement vector
Returns:
the effective linear algebra vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 1038 of file MatrixTransforms.h.

01040       {
01041         ROOT::Math::SVector<T,3> result ( v2 ) ;
01042         result ( 0 ) += p1 . X () ;
01043         result ( 1 ) += p1 . Y () ;
01044         result ( 2 ) += p1 . Z () ;
01045         return result ;
01046       }

template<class C, class B, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator+ ( const ROOT::Math::VecExpr< B, T, 3 > &  v2,
const ROOT::Math::DisplacementVector3D< C > &  p1 
) [inline]

Definition at line 1052 of file MatrixTransforms.h.

01054       {
01055         ROOT::Math::SVector<T,3> result = v2 ;
01056         result ( 0 ) += p1 . X () ;
01057         result ( 1 ) += p1 . Y () ;
01058         result ( 2 ) += p1 . Z () ;
01059         return result ;
01060       }

template<class C, class T>
ROOT::Math::SVector<T,4> Gaudi::Math::Operators::operator+ ( const ROOT::Math::SVector< T, 4 > &  v2,
const ROOT::Math::LorentzVector< C > &  p1 
) [inline]

addition of Lorentz vector and the linear algebra vector

  const Gaudi::Vector4&        v2 = ... ;
  const Gaudi::LorentzVector&  p1 = ... ;

  Gaudi::Vector4 p = v2 + p1 ; 

Parameters:
v2 the linear algebra vector
p1 Lorentz vector
v2 the linear algebra vector
Returns:
the effective linear algebra vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 1085 of file MatrixTransforms.h.

01087       {
01088         ROOT::Math::SVector<T,4> result ( v2 ) ;
01089         result ( 0 ) += p1 . Px () ;
01090         result ( 1 ) += p1 . Py () ;
01091         result ( 2 ) += p1 . Pz () ;
01092         result ( 3 ) += p1 . E  () ;
01093         return result ;
01094       }

template<class C, class B, class T>
ROOT::Math::SVector<T,4> Gaudi::Math::Operators::operator+ ( const ROOT::Math::VecExpr< B, T, 4 > &  v2,
const ROOT::Math::LorentzVector< C > &  p1 
) [inline]

Definition at line 1100 of file MatrixTransforms.h.

01102       {
01103         ROOT::Math::SVector<T,4> result = v2  ;
01104         result ( 0 ) += p1 . Px () ;
01105         result ( 1 ) += p1 . Py () ;
01106         result ( 2 ) += p1 . Pz () ;
01107         result ( 3 ) += p1 . E  () ;
01108         return result ;
01109       }

template<class C, class T>
ROOT::Math::PositionVector3D<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::PositionVector3D< C > &  p1,
const ROOT::Math::SVector< T, 3 > &  v2 
) [inline]

subtraction of 3D-vector and the linear algebra vector

  const Gaudi::XYZPoint& p1 = ... ;
  const Gaudi::Vector3&  v2 = ... ;

  Gaudi::XYZPoint p = p1 - v2 ; 

Parameters:
p1 the position vector (point)
v2 the linear algebra vector
Returns:
the effective position vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 1133 of file MatrixTransforms.h.

01135       {
01136         ROOT::Math::PositionVector3D<C> result  ;
01137         result.SetXYZ
01138           (  p1 . X () - v2 ( 0 ) , 
01139              p1 . Y () - v2 ( 1 ) ,
01140              p1 . Z () - v2 ( 2 ) ) ;
01141         return result ;
01142       }

template<class C, class B, class T>
ROOT::Math::PositionVector3D<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::PositionVector3D< C > &  p1,
const ROOT::Math::VecExpr< B, T, 3 > &  v2 
) [inline]

Definition at line 1148 of file MatrixTransforms.h.

01150       {
01151         ROOT::Math::PositionVector3D<C> result  ;
01152         result.SetXYZ
01153           (  p1 . X () - v2 ( 0 ) , 
01154              p1 . Y () - v2 ( 1 ) ,
01155              p1 . Z () - v2 ( 2 ) ) ;
01156         return result ;
01157       }

template<class C, class T>
ROOT::Math::DisplacementVector3D<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::DisplacementVector3D< C > &  p1,
const ROOT::Math::SVector< T, 3 > &  v2 
) [inline]

subtraction of 3D-vector and the linear algebra vector

  const Gaudi::XYZVector& p1 = ... ;
  const Gaudi::Vector3&   v2 = ... ;

  Gaudi::XYZVector p = p1 - v2 ; 

Parameters:
p1 the displacement vector
v2 the linear algebra vector
Returns:
the effective displacement vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 1182 of file MatrixTransforms.h.

01184       {
01185         ROOT::Math::PositionVector3D<C> result  ;
01186         result.SetXYZ
01187           (  p1 . X () - v2 ( 0 ) , 
01188              p1 . Y () - v2 ( 1 ) ,
01189              p1 . Z () - v2 ( 2 ) ) ;
01190         return result ;
01191       }

template<class C, class B, class T>
ROOT::Math::DisplacementVector3D<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::DisplacementVector3D< C > &  p1,
const ROOT::Math::VecExpr< B, T, 3 > &  v2 
) [inline]

Definition at line 1197 of file MatrixTransforms.h.

01199       {
01200         ROOT::Math::PositionVector3D<C> result  ;
01201         result.SetXYZ
01202           (  p1 . X () - v2 ( 0 ) , 
01203              p1 . Y () - v2 ( 1 ) ,
01204              p1 . Z () - v2 ( 2 ) ) ;
01205         return result ;
01206       }      

template<class C, class T>
ROOT::Math::LorentzVector<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::LorentzVector< C > &  p1,
const ROOT::Math::SVector< T, 4 > &  v2 
) [inline]

subtraction of Lorentz vector and the linear algebra vector

  const Gaudi::LorentzVector& p1 = ... ;
  const Gaudi::Vector4&       v2 = ... ;

  Gaudi::LorentzVector p = p1 - v2 ; 

Parameters:
p1 Lorentz vector
v2 the linear algebra vector
Returns:
the effective Lorentz vector
Author:
Vanya BELYAEV ibelyaev@itep.ru
Date:
2008-02-14

Definition at line 1230 of file MatrixTransforms.h.

01232       {
01233         ROOT::Math::LorentzVector<C> result  ;
01234         result.SetXYZT 
01235           (  p1 . Px () - v2 ( 0 ) , 
01236              p1 . Py () - v2 ( 1 ) ,
01237              p1 . Pz () - v2 ( 2 ) ,
01238              p1 . E  () - v2 ( 3 ) ) ;
01239         return result ;
01240       }

template<class C, class B, class T>
ROOT::Math::LorentzVector<C> Gaudi::Math::Operators::operator- ( const ROOT::Math::LorentzVector< C > &  p1,
const ROOT::Math::VecExpr< B, T, 4 > &  v2 
) [inline]

Definition at line 1246 of file MatrixTransforms.h.

01248       {
01249         ROOT::Math::LorentzVector<C> result  ;
01250         result.SetXYZT 
01251           (  p1 . Px () - v2 ( 0 ) , 
01252              p1 . Py () - v2 ( 1 ) ,
01253              p1 . Pz () - v2 ( 2 ) ,
01254              p1 . E  () - v2 ( 3 ) ) ;
01255         return result ;
01256       }

template<class C, class T>
ROOT::Math::SVector<T,4> Gaudi::Math::Operators::operator- ( const ROOT::Math::SVector< T, 4 > &  v1,
const ROOT::Math::LorentzVector< C > &  v2 
) [inline]

subtract the Lorentz Vector from the Linear Algebra -vector

   const Gaudi::Vector4&       vct1 = ... ;
   const Gaudi::LorentzVector& vct2 = ... ;
  
   std::cout << " Delta is " << vct1-vct2 << std::endl ;

Author:
Vanya BEYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1276 of file MatrixTransforms.h.

01278       {
01279         ROOT::Math::SVector<T,4> result = v1 ;
01280         result ( 0 ) -= v2 . Px () ;
01281         result ( 1 ) -= v2 . Py () ;
01282         result ( 2 ) -= v2 . Pz () ;
01283         result ( 3 ) -= v2 . E  () ;
01284         return result ;
01285       }

template<class C, class B, class T>
ROOT::Math::SVector<T,4> Gaudi::Math::Operators::operator- ( const ROOT::Math::VecExpr< B, T, 4 > &  v1,
const ROOT::Math::LorentzVector< C > &  v2 
) [inline]

Definition at line 1291 of file MatrixTransforms.h.

01293       {
01294         ROOT::Math::SVector<T,4> result = v1 ;
01295         result ( 0 ) -= v2 . Px () ;
01296         result ( 1 ) -= v2 . Py () ;
01297         result ( 2 ) -= v2 . Pz () ;
01298         result ( 3 ) -= v2 . E  () ;
01299         return result ;
01300       }

template<class C, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator- ( const ROOT::Math::SVector< T, 3 > &  v1,
const ROOT::Math::PositionVector3D< C > &  v2 
) [inline]

subtract the 3D Vector from the Linear Algebra -vector

   const Gaudi::Vector3&  vct1 = ... ;
   const Gaudi::XYZPoint& vct2 = ... ;
  
   std::cout << " Delta is " << vct1-vct2 << std::endl ;

Author:
Vanya BEYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1320 of file MatrixTransforms.h.

01322       {
01323         ROOT::Math::SVector<T,3> result = v1 ;
01324         result ( 0 ) -= v2 . X () ;
01325         result ( 1 ) -= v2 . Y () ;
01326         result ( 2 ) -= v2 . Z () ;
01327         return result ;
01328       }

template<class C, class B, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator- ( const ROOT::Math::VecExpr< B, T, 3 > &  v1,
const ROOT::Math::PositionVector3D< C > &  v2 
) [inline]

Definition at line 1334 of file MatrixTransforms.h.

01336       {
01337         ROOT::Math::SVector<T,3> result = v1 ;
01338         result ( 0 ) -= v2 . X () ;
01339         result ( 1 ) -= v2 . Y () ;
01340         result ( 2 ) -= v2 . Z () ;
01341         return result ;
01342       }

template<class C, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator- ( const ROOT::Math::SVector< T, 3 > &  v1,
const ROOT::Math::DisplacementVector3D< C > &  v2 
) [inline]

subtract the 3D Vector from the Linear Algebra -vector

   const Gaudi::Vector3&   vct1 = ... ;
   const Gaudi::XYZVector& vct2 = ... ;
  
   std::cout << " Delta is " << vct1-vct2 << std::endl ;

Author:
Vanya BEYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1362 of file MatrixTransforms.h.

01364       {
01365         ROOT::Math::SVector<T,3> result = v1 ;
01366         result ( 0 ) -= v2 . X () ;
01367         result ( 1 ) -= v2 . Y () ;
01368         result ( 2 ) -= v2 . Z () ;
01369         return result ;
01370       }

template<class C, class B, class T>
ROOT::Math::SVector<T,3> Gaudi::Math::Operators::operator- ( const ROOT::Math::VecExpr< B, T, 3 > &  v1,
const ROOT::Math::DisplacementVector3D< C > &  v2 
) [inline]

Definition at line 1376 of file MatrixTransforms.h.

01378       {
01379         ROOT::Math::SVector<T,3> result = v1 ;
01380         result ( 0 ) -= v2 . X () ;
01381         result ( 1 ) -= v2 . Y () ;
01382         result ( 2 ) -= v2 . Z () ;
01383         return result ;
01384       }

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::SMatrix< T, D, 4, R > &  mrtx,
const ROOT::Math::LorentzVector< C > &  vect 
) [inline]

multiply the matrix and the Lorenz vector

  const Gaudi::SymMatrix4x4  mtrx  = ... ;
  const Gaudi::LorentzVector vect  = ... ;

  const Gaudi::Vector4 resut = mrtx * vect ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1404 of file MatrixTransforms.h.

01406       {
01407         const ROOT::Math::SVector<T,4> vct 
01408           ( vect . Px () , vect . Py () , vect . Pz () , vect.E () ) ;
01409         return mrtx * vct ;
01410       } 

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::Expr< B, T, D, 4, R > &  mtrx,
const ROOT::Math::LorentzVector< C > &  vect 
) [inline]

Definition at line 1416 of file MatrixTransforms.h.

01418       {
01419         const ROOT::Math::SVector<T,4> vct 
01420           ( vect . Px () , vect . Py () , vect . Pz () , vect.E () ) ;
01421         return mtrx * vct ;
01422       }

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::LorentzVector< C > &  vect,
const ROOT::Math::SMatrix< T, 4, D, R > &  mtrx 
) [inline]

multiply the matrix and the Lorenz vector

  const Gaudi::Matrix4x5  mtrx  = ... ;
  const Gaudi::LorentzVector vect  = ... ;

  const Gaudi::Vector5 result = vect * mrtx ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1442 of file MatrixTransforms.h.

01444       {
01445         const ROOT::Math::SVector<T,4> vct 
01446           ( vect . Px () , vect . Py () , vect . Pz () , vect.E () ) ;
01447         return vct * mtrx ;
01448       }

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::LorentzVector< C > &  vect,
const ROOT::Math::Expr< B, T, 4, D, R > &  mtrx 
) [inline]

Definition at line 1454 of file MatrixTransforms.h.

01456       {
01457         const ROOT::Math::SVector<T,4> vct 
01458           ( vect . Px () , vect . Py () , vect . Pz () , vect.E () ) ;
01459         return vct * mtrx ;
01460       }

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::SMatrix< T, D, 3, R > &  mtrx,
const ROOT::Math::DisplacementVector3D< C > &  vect 
) [inline]

multiply the matrix and 3D-vector

  const Gaudi::SymMatrix3x3  mtrx  = ... ;
  const Gaudi::XYZVector     vect  = ... ;

  const Gaudi::Vector3 resut = mrtx * vect ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1480 of file MatrixTransforms.h.

01482       {
01483         const ROOT::Math::SVector<T,3> vct 
01484           ( vect . X () , vect . Y () , vect . Z () ) ;
01485         return mtrx * vct ;
01486       } 

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::Expr< B, T, D, 3, R > &  mtrx,
const ROOT::Math::DisplacementVector3D< C > &  vect 
) [inline]

Definition at line 1492 of file MatrixTransforms.h.

01494       {
01495         const ROOT::Math::SVector<T,3> vct 
01496           ( vect . X () , vect . Y () , vect . Z () ) ;
01497         return mtrx * vct ;
01498       } 

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::DisplacementVector3D< C > &  vect,
const ROOT::Math::SMatrix< T, 3, D, R > &  mtrx 
) [inline]

multiply the matrix and the 3D-vector

  const Gaudi::SymMatrix3x3  mtrx  = ... ;
  const Gaudi::XYZVector vect  = ... ;

  const Gaudi::Vector3 resut = vect * mtrx ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1518 of file MatrixTransforms.h.

01520       {
01521         const ROOT::Math::SVector<T,3> vct 
01522           ( vect . X () , vect . Y () , vect . Z () ) ;
01523         return vct * mtrx ;
01524       }

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::DisplacementVector3D< C > &  vect,
const ROOT::Math::Expr< B, T, 3, D, R > &  mtrx 
) [inline]

Definition at line 1530 of file MatrixTransforms.h.

01532       {
01533         const ROOT::Math::SVector<T,3> vct 
01534           ( vect . X () , vect . Y () , vect . Z () ) ;
01535         return vct * mtrx ;
01536       }

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::SMatrix< T, D, 3, R > &  mtrx,
const ROOT::Math::PositionVector3D< C > &  vect 
) [inline]

multiply the matrix and 3D-vector

  const Gaudi::Matrix3x3     mtrx  = ... ;
  const Gaudi::XYZPoint      vect  = ... ;

  const Gaudi::Vector3 result = mrtx * vect ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1556 of file MatrixTransforms.h.

01558       {
01559         const ROOT::Math::SVector<T,3> vct 
01560           ( vect . X () , vect . Y () , vect . Z () ) ;
01561         return mtrx * vct ;
01562       } 

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::Expr< B, T, D, 3, R > &  mtrx,
const ROOT::Math::PositionVector3D< C > &  vect 
) [inline]

Definition at line 1568 of file MatrixTransforms.h.

01570       {
01571         const ROOT::Math::SVector<T,3> vct 
01572           ( vect . X () , vect . Y () , vect . X () ) ;
01573         return mtrx * vct ;
01574       } 

template<class T, class C, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::PositionVector3D< C > &  vect,
const ROOT::Math::SMatrix< T, 3, D, R > &  mtrx 
) [inline]

multiply the matrix and the 3D-vector

  const Gaudi::SymMatrix3x3  mtrx  = ... ;
  const Gaudi::XYZPoint vect  = ... ;

  const Gaudi::Vector3 resut = vect * mtrx ;

Author:
Vanya BELYAEV Ivan.Belyaev@nikhef.nl
Date:
2008-03-03

Definition at line 1594 of file MatrixTransforms.h.

01596       {
01597         const ROOT::Math::SVector<T,3> vct 
01598           ( vect . X () , vect . Y () , vect . Z () ) ;
01599         return vct * mtrx ;
01600       }

template<class T, class C, class B, class R, unsigned int D>
ROOT::Math::SVector<T,D> Gaudi::Math::Operators::operator * ( const ROOT::Math::PositionVector3D< C > &  vect,
const ROOT::Math::Expr< B, T, 3, D, R > &  mtrx 
) [inline]

Definition at line 1606 of file MatrixTransforms.h.

01608       {
01609         const ROOT::Math::SVector<T,3> vct 
01610           ( vect . X () , vect . Y () , vect . Z () ) ;
01611         return vct * mtrx ;
01612       }

| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:02:59 2011 for LHCbMath by doxygen 1.4.7