CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions
invertPosDefMatrix.h File Reference
#include "Math/SMatrix.h"
#include "Math/CholeskyDecomp.h"
#include "SIMDVec.h"

Go to the source code of this file.

Macros

#define SMATRIX_USE_CONSTEXPR
 

Functions

template<typename T , unsigned int N>
bool invertPosDefMatrix (ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
 
template<typename T , unsigned int N>
bool invertPosDefMatrix (ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &mIn, ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &mOut)
 

Macro Definition Documentation

#define SMATRIX_USE_CONSTEXPR

Definition at line 4 of file invertPosDefMatrix.h.

Function Documentation

template<typename T , unsigned int N>
bool invertPosDefMatrix ( ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &  m)
inline

Definition at line 11 of file invertPosDefMatrix.h.

References m.

Referenced by PerigeeTrajectoryError::calculateWeightMatrix(), KalmanVertexUpdator< N >::chi2Increment(), TrajectoryStateCombiner::combine(), KalmanVertexUpdator< N >::positionUpdate(), KalmanVertexTrackUpdator< N >::trackRefit(), KinematicConstrainedVertexUpdatorT< nTrk, nConstraint >::update(), and LocalTrajectoryError::weightMatrix().

11  {
12 
13  ROOT::Math::CholeskyDecomp<T,N> decomp(m);
14  if (!decomp) {
15  return m.Invert();
16  } else
17  decomp.Invert(m);
18  return true;
19 
20 }
template<typename T , unsigned int N>
bool invertPosDefMatrix ( ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &  mIn,
ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &  mOut 
)
inline

Definition at line 23 of file invertPosDefMatrix.h.

24  {
25 
26  ROOT::Math::CholeskyDecomp<T,N> decomp(mIn);
27  if (!decomp) {
28  mOut=mIn;
29  return mOut.Invert();
30  } else
31  decomp.Invert(mOut);
32  return true;
33 
34 }