Jpp  18.3.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
JGEOMETRY2D::JEigenValues2D Struct Reference

Eigen values in 2D. More...

#include <JEigen2D.hh>

Inheritance diagram for JGEOMETRY2D::JEigenValues2D:
std::map< double, JVector2D, std::greater< double > >

Public Member Functions

template<class T >
 JEigenValues2D (T __begin, T __end)
 Constructor. More...
 

Detailed Description

Eigen values in 2D.

Definition at line 26 of file JEigen2D.hh.

Constructor & Destructor Documentation

template<class T >
JGEOMETRY2D::JEigenValues2D::JEigenValues2D ( T  __begin,
T  __end 
)
inline

Constructor.

Parameters
__beginbegin of data
__endend of data

Definition at line 37 of file JEigen2D.hh.

39  {
40  const JCenter2D center(__begin, __end);
41 
42  // RMS matrix
43 
44  TMatrixDSym A(2);
45 
46  A = 0.0;
47 
48  for (T i = __begin; i != __end; ++i) {
49 
50  const double dx = center.getX() - i->getX();
51  const double dy = center.getY() - i->getY();
52 
53  A(0,0) += (dx * dx);
54  A(0,1) += (dx * dy);
55 
56  A(1,1) += (dy * dy);
57  }
58 
59  A(1,0) = A(0,1);
60 
61  const TMatrixDSymEigen result(A);
62 
63  const TVectorD& u = result.GetEigenValues();
64  const TMatrixD& V = result.GetEigenVectors();
65 
66  for (Int_t i = 0; i != u.GetNoElements(); ++i) {
67  (*this)[u[i]] = JVector2D(V(0,i),
68  V(1,i));
69  }
70  }
Data structure for vector in two dimensions.
Definition: JVector2D.hh:32
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
do set_variable OUTPUT_DIRECTORY $WORKDIR T
double u[N+1]
Definition: JPolint.hh:865
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A

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