CMS 3D CMS Logo

Public Types | Public Member Functions | Public Attributes

ProjectMatrix< T, N, D > Struct Template Reference

#include <ProjectMatrix.h>

List of all members.

Public Types

typedef ROOT::Math::SMatrix< T,
D, D, ROOT::Math::MatRepSym< T,
D > > 
SMatDD
typedef ROOT::Math::SMatrix< T,
N, D > 
SMatND
typedef ROOT::Math::SMatrix< T,
N, N > 
SMatNN

Public Member Functions

SMatND project (SMatDD const &s)
SMatNN project (SMatND const &k)
void projectAndSubtractFrom (SMatNN &__restrict__ s, SMatND const &__restrict__ k)

Public Attributes

unsigned int index [D]

Detailed Description

template<typename T, unsigned int N, unsigned int D>
struct ProjectMatrix< T, N, D >

Definition at line 9 of file ProjectMatrix.h.


Member Typedef Documentation

template<typename T, unsigned int N, unsigned int D>
typedef ROOT::Math::SMatrix<T,D,D,ROOT::Math::MatRepSym<T,D> > ProjectMatrix< T, N, D >::SMatDD

Definition at line 10 of file ProjectMatrix.h.

template<typename T, unsigned int N, unsigned int D>
typedef ROOT::Math::SMatrix<T,N,D > ProjectMatrix< T, N, D >::SMatND

Definition at line 12 of file ProjectMatrix.h.

template<typename T, unsigned int N, unsigned int D>
typedef ROOT::Math::SMatrix<T,N,N > ProjectMatrix< T, N, D >::SMatNN

Definition at line 11 of file ProjectMatrix.h.


Member Function Documentation

template<typename T, unsigned int N, unsigned int D>
SMatND ProjectMatrix< T, N, D >::project ( SMatDD const &  s) [inline]

Definition at line 17 of file ProjectMatrix.h.

References funct::D, i, ProjectMatrix< T, N, D >::index, j, alignCSCRings::r, and alignCSCRings::s.

                                   {
    SMatND r;
    for (unsigned int i=0; i<D; i++)
      for (unsigned int j=0; j<D; j++)
        r(index[i],j) = s(i,j);
    return r;
  }
template<typename T, unsigned int N, unsigned int D>
SMatNN ProjectMatrix< T, N, D >::project ( SMatND const &  k) [inline]

Definition at line 26 of file ProjectMatrix.h.

References funct::D, i, ProjectMatrix< T, N, D >::index, j, gen::k, N, and alignCSCRings::s.

                                   {
    SMatNN s;
    for (unsigned int i=0; i<N; i++)
      for (unsigned int j=0; j<D; j++)
        s(i,index[j]) = k(i,j);
    return s;
  }
template<typename T, unsigned int N, unsigned int D>
void ProjectMatrix< T, N, D >::projectAndSubtractFrom ( SMatNN &__restrict__  s,
SMatND const &__restrict__  k 
) [inline]

Definition at line 35 of file ProjectMatrix.h.

References funct::D, i, ProjectMatrix< T, N, D >::index, j, gen::k, N, and alignCSCRings::s.

                                                                                      {
    for (unsigned int i=0; i<N; i++)
      for (unsigned int j=0; j<D; j++)
        s(i,index[j]) -= k(i,j);
  }

Member Data Documentation

template<typename T, unsigned int N, unsigned int D>
unsigned int ProjectMatrix< T, N, D >::index[D]