1 #ifndef DataFormat_Math_ProjectMatrix_H 2 #define DataFormat_Math_ProjectMatrix_H 4 #define SMATRIX_USE_CONSTEXPR 5 #include "Math/SMatrix.h" 9 template<
typename T,
unsigned int N,
unsigned int D>
11 typedef ROOT::Math::SMatrix<T,D,D,ROOT::Math::MatRepSym<T,D> >
SMatDD;
12 typedef ROOT::Math::SMatrix<T,N,N >
SMatNN;
13 typedef ROOT::Math::SMatrix<T,N,D >
SMatND;
14 typedef ROOT::Math::SMatrix<T,D,N >
SMatDN;
22 for (
unsigned int i=0;
i<
D;
i++)
29 for (
unsigned int i=0;
i<
D;
i++) {
31 for (
unsigned int j=0; j<
N; j++)
32 if (
H(
i,j)>0 ) {
index[
i]=j;
break;}
39 for (
unsigned int i=0;
i<
D;
i++)
40 for (
unsigned int j=0; j<
D; j++)
48 for (
unsigned int i=0;
i<
N;
i++)
49 for (
unsigned int j=0; j<
D; j++)
56 for (
unsigned int i=0;
i<
N;
i++)
57 for (
unsigned int j=0; j<
D; j++)
SMatNN project(SMatND const &k) const
void projectAndSubtractFrom(SMatNN &__restrict__ s, SMatND const &__restrict__ k) const
ROOT::Math::SMatrix< T, N, N > SMatNN
DecomposeProduct< arg, typename Div::arg > D
ROOT::Math::SMatrix< T, D, D, ROOT::Math::MatRepSym< T, D > > SMatDD
SMatND project(SMatDD const &s) const
ROOT::Math::SMatrix< T, D, N > SMatDN
ROOT::Math::SMatrix< T, N, D > SMatND
void fromH(SMatDN const &H)