Jpp  18.0.1-rc.2
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
JGEOMETRY3D::JEigenValues3D Struct Reference

Eigen values in 3D. More...

#include <JEigen3D.hh>

Inheritance diagram for JGEOMETRY3D::JEigenValues3D:
std::map< double, JVector3D, std::greater< double > >

Public Member Functions

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

Detailed Description

Eigen values in 3D.

Definition at line 33 of file JEigen3D.hh.

Constructor & Destructor Documentation

template<class T >
JGEOMETRY3D::JEigenValues3D::JEigenValues3D ( T  __begin,
T  __end 
)
inline

Constructor.

Parameters
__beginbegin of data
__endend of data

Definition at line 43 of file JEigen3D.hh.

45  {
46  const JCenter3D center(__begin, __end);
47 
48  // RMS matrix
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  }
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
Data structure for vector in three dimensions.
Definition: JVector3D.hh:34
do set_variable OUTPUT_DIRECTORY $WORKDIR T
double u[N+1]
Definition: JPolint.hh:776
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: