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

In This Package:

MatrixTransforms.h File Reference

The collection of useful utils to minimize the conversion from geometry&kinematical vectors into linear algebra vectors In particular it includes: More...

#include "Math/SMatrix.h"
#include "Math/SVector.h"
#include "Math/Point3D.h"
#include "Math/Vector4D.h"
#include "Math/Vector3D.h"

Include dependency graph for MatrixTransforms.h:

Go to the source code of this file.


Namespaces

namespace  Gaudi
namespace  Gaudi::Math
namespace  Gaudi::Math::Operators

Defines

#define LHCBMATH_MATRIXTRANSFORMS_H   1

Functions

template<class C, class T>
const ROOT::Math::SVector<
T, 3 > & 
Gaudi::Math::geo2LA (const ROOT::Math::PositionVector3D< C > &source, ROOT::Math::SVector< T, 3 > &dest)
 fill Linear Algebra - vector from 3D-point
template<class C, class T>
const ROOT::Math::SVector<
T, 3 > & 
Gaudi::Math::geo2LA (const ROOT::Math::DisplacementVector3D< C > &source, ROOT::Math::SVector< T, 3 > &dest)
 fill Linear Algebra - vector from 3D-vector
template<class C, class T>
const ROOT::Math::SVector<
T, 4 > & 
Gaudi::Math::geo2LA (const ROOT::Math::LorentzVector< C > &source, ROOT::Math::SVector< T, 4 > &dest)
 fill Linear Algebra - vector from 4D-vector
template<class C, class T>
const ROOT::Math::SVector<
T, 3 > & 
Gaudi::Math::geo2LA (const ROOT::Math::LorentzVector< C > &source, ROOT::Math::SVector< T, 3 > &dest)
 fill Linear Algebra 3-vector from the spatial components of 4D-(Lorentz)vector
template<class C, class T>
const ROOT::Math::PositionVector3D<
C > & 
Gaudi::Math::la2geo (const ROOT::Math::SVector< T, 3 > &source, ROOT::Math::PositionVector3D< C > &dest)
 fill 3D-point from Linear Algebra vector
template<class C, class T>
const ROOT::Math::DisplacementVector3D<
C > & 
Gaudi::Math::la2geo (const ROOT::Math::SVector< T, 3 > &source, ROOT::Math::DisplacementVector3D< C > &dest)
 fill 3D-vector from Linear Algebra vector
template<class C, class T>
const ROOT::Math::LorentzVector<
C > & 
Gaudi::Math::la2geo (const ROOT::Math::SVector< T, 4 > &source, ROOT::Math::LorentzVector< C > &dest)
 fill Lorentz vector from Linear Algebra vector
template<class C, class T>
Gaudi::Math::Similarity (const ROOT::Math::DisplacementVector3D< C > &delta, const ROOT::Math::SMatrix< T, 3, 3, ROOT::Math::MatRepSym< T, 3 > > &matrix)
 construct similarity("chi2") using 3D-vector
template<class C, class T>
Gaudi::Math::Similarity (const ROOT::Math::SMatrix< T, 3, 3, ROOT::Math::MatRepSym< T, 3 > > &matrix, const ROOT::Math::DisplacementVector3D< C > &delta)
 construct similarity("chi2") using 3D-vector
template<class C, class T>
Gaudi::Math::Similarity (const ROOT::Math::LorentzVector< C > &delta, const ROOT::Math::SMatrix< T, 4, 4, ROOT::Math::MatRepSym< T, 4 > > &matrix)
 construct similarity("chi2") using 4D-vector
template<class C, class T>
Gaudi::Math::Similarity (const ROOT::Math::SMatrix< T, 4, 4, ROOT::Math::MatRepSym< T, 4 > > &matrix, const ROOT::Math::LorentzVector< C > &delta)
 construct similarity("chi2") using 4D-vector
template<class C, class T>
const ROOT::Math::LorentzVector<
C > & 
Gaudi::Math::add (ROOT::Math::LorentzVector< C > &v1, const ROOT::Math::SVector< T, 4 > &v2)
 increment LorentzVector with 4-component linear vector
template<class T1, class T2, unsigned int D, class R>
ROOT::Math::SMatrix< T1, D,
D, ROOT::Math::MatRepSym<
T1, D > > & 
Gaudi::Math::add (ROOT::Math::SMatrix< T1, D, D, ROOT::Math::MatRepSym< T1, D > > &matrix, const ROOT::Math::SMatrix< T2, D, D, R > &other)
 increment the symmetric matrix with "symmetrized" part of other matrix
template<class T, class C, class M>
const ROOT::Math::LorentzVector<
C > & 
Gaudi::Math::geo2LA (const ROOT::Math::SVector< T, 3 > &source, const M mass, ROOT::Math::LorentzVector< C > &dest)
 Fill Lorentz vector from 3D displacement vector + Mass.
template<class T, class R, class M>
void Gaudi::Math::JacobdP4dMom (const ROOT::Math::SVector< T, 3 > &mom, const M mass, ROOT::Math::SMatrix< R, 4, 3 > &J)
 Compute the jacobian for the transformation of a covariance matrix with rows representing track parameters TxTyQop and columns in xyz into a covariance matrix representing the track parameters in PxPyPzE and columns xyz.
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)
 addition of 3D-vector and the linear algebra vector
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)
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)
 addition of 3D-vector and the linear algebra vector
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)
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)
 addition of Lorentz vector and the linear algebra vector
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)
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)
 addition of 3D-vector and the linear algebra vector
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)
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)
 addition of 3D-vector and the linear algebra vector
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)
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)
 addition of Lorentz vector and the linear algebra vector
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)
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)
 subtraction of 3D-vector and the linear algebra vector
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)
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)
 subtraction of 3D-vector and the linear algebra vector
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)
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)
 subtraction of Lorentz vector and the linear algebra vector
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)
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)
 subtract the Lorentz Vector from the Linear Algebra -vector
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)
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)
 subtract the 3D Vector from the Linear Algebra -vector
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)
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)
 subtract the 3D Vector from the Linear Algebra -vector
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)
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)
 multiply the matrix and the Lorenz vector
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)
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)
 multiply the matrix and the Lorenz vector
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)
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)
 multiply the matrix and 3D-vector
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)
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)
 multiply the matrix and the 3D-vector
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)
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)
 multiply the matrix and 3D-vector
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)
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)
 multiply the matrix and the 3D-vector
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)

Detailed Description

The collection of useful utils to minimize the conversion from geometry&kinematical vectors into linear algebra vectors In particular it includes:

E.g. "vicinity" of two points, or two momenta

Todo:
The file Patricle2State.cpp needs to be updated to use the jacobian from the file MatrixTransforms.h
Author:
Vanya BELYAEV Ivan.Belyaev@itep.ru
Date:
2008-01-15

Definition in file MatrixTransforms.h.


Define Documentation

#define LHCBMATH_MATRIXTRANSFORMS_H   1

Definition at line 4 of file MatrixTransforms.h.

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

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