rivet is hosted by Hepforge, IPPP Durham
EigenSystem< N > Class Template Reference

Handy object containing results of a diagonalization. More...

#include <MatrixDiag.hh>

Collaboration diagram for EigenSystem< N >:

List of all members.

Public Types

typedef pair< double, Vector< N > > EigenPair
typedef vector< EigenPairEigenPairs

Public Member Functions

Vector< N > getDiagVector () const
Matrix< N > getDiagMatrix () const
EigenPairs getEigenPairs () const
vector< double > getEigenValues () const
vector< Vector< N > > getEigenVectors () const

Private Attributes

EigenPairs _eigenPairs

Friends

template<size_t M>
EigenSystem< M > diagonalize (const Matrix< M > &)

Detailed Description

template<size_t N>
class Rivet::EigenSystem< N >

Handy object containing results of a diagonalization.

Definition at line 22 of file MatrixDiag.hh.


Member Typedef Documentation

typedef pair<double, Vector<N> > EigenPair

Definition at line 28 of file MatrixDiag.hh.

typedef vector<EigenPair> EigenPairs

Definition at line 29 of file MatrixDiag.hh.


Member Function Documentation

Matrix<N> getDiagMatrix ( ) const [inline]

Definition at line 40 of file MatrixDiag.hh.

References EigenSystem< N >::getDiagVector().

Referenced by FParameter::_calcFParameter(), and Sphericity::_calcSphericity().

                                  {
    return Matrix<N>::mkDiag(getDiagVector());
  }
Vector<N> getDiagVector ( ) const [inline]

Definition at line 31 of file MatrixDiag.hh.

References EigenSystem< N >::_eigenPairs, and Vector< N >::set().

Referenced by EigenSystem< N >::getDiagMatrix().

                                  {
    assert(_eigenPairs.size() == N);
    Vector<N> ret;
    for (size_t i = 0; i < N; ++i) {
      ret.set(i, _eigenPairs[i].first);
    }
    return ret;
  }
EigenPairs getEigenPairs ( ) const [inline]

Definition at line 44 of file MatrixDiag.hh.

References EigenSystem< N >::_eigenPairs.

Referenced by FParameter::_calcFParameter(), and Sphericity::_calcSphericity().

                                   {
    return _eigenPairs;
  }
vector<double> getEigenValues ( ) const [inline]

Definition at line 48 of file MatrixDiag.hh.

References EigenSystem< N >::_eigenPairs.

                                        {
    assert(_eigenPairs.size() == N);
    vector<double> ret;
    for (size_t i = 0; i < N; ++i) {
      ret.push_back(_eigenPairs[i].first);
    }
    return ret;
  }
vector<Vector<N> > getEigenVectors ( ) const [inline]

Definition at line 57 of file MatrixDiag.hh.

References EigenSystem< N >::_eigenPairs, and Rivet::second.

                                             {
    assert(_eigenPairs.size() == N);
    vector<Vector<N> > ret;
    for (size_t i = 0; i < N; ++i) {
      ret.push_back(_eigenPairs[i].second);
    }
    return ret;
  }

Friends And Related Function Documentation

EigenSystem<M> diagonalize ( const Matrix< M > &  ) [friend]

Member Data Documentation


The documentation for this class was generated from the following file: