Eigen values in 3D.
More...
#include <JEigen3D.hh>
Eigen values in 3D.
Definition at line 33 of file JEigen3D.hh.
◆ JEigenValues3D()
template<class T >
JGEOMETRY3D::JEigenValues3D::JEigenValues3D |
( |
T | __begin, |
|
|
T | __end ) |
|
inline |
Constructor.
- Parameters
-
__begin | begin of data |
__end | end of data |
Definition at line 43 of file JEigen3D.hh.
45 {
46 const JCenter3D center(__begin, __end);
47
48
49
50 TMatrixDSym A(3);
51
52 A = 0.0;
53
54 for (T i = __begin; i != __end; ++i) {
55
56 const double dx = center.getX() - i->getX();
57 const double dy = center.getY() - i->getY();
58 const double dz = center.getZ() - i->getZ();
59
60 A(0,0) += (dx * dx);
61 A(0,1) += (dx * dy);
62 A(0,2) += (dx * dz);
63
64 A(1,1) += (dy * dy);
65 A(1,2) += (dy * dz);
66
67 A(2,2) += (dz * dz);
68 }
69
70 A(1,0) = A(0,1);
71 A(2,0) = A(0,2);
72 A(2,1) = A(1,2);
73
74 const TMatrixDSymEigen
result(A);
75
76 const TVectorD& u =
result.GetEigenValues();
77 const TMatrixD& V =
result.GetEigenVectors();
78
79 for (Int_t i = 0; i != u.GetNoElements(); ++i) {
80 (*this)[u[i]] = JVector3D(V(0,i),
81 V(1,i),
82 V(2,i));
83 }
84 }
The documentation for this struct was generated from the following file: