QXRD  0.11.16
Public Member Functions | Private Attributes | List of all members
QxrdPlaneFitter Class Reference

#include <qxrdplanefitter.h>

Public Member Functions

 QxrdPlaneFitter ()
 
void addPoint (double x, double y, double z)
 
double value (double x, double y)
 

Private Attributes

double s
 
double sx
 
double sy
 
double sxx
 
double syy
 
double sxy
 
double sz
 
double sxz
 
double syz
 

Detailed Description

Definition at line 4 of file qxrdplanefitter.h.

Constructor & Destructor Documentation

QxrdPlaneFitter::QxrdPlaneFitter ( )

Definition at line 3 of file qxrdplanefitter.cpp.

3  :
4  s(0),
5  sx(0),
6  sy(0),
7  sxx(0),
8  syy(0),
9  sxy(0),
10  sz(0),
11  sxz(0),
12  syz(0)
13 {
14 }

Member Function Documentation

void QxrdPlaneFitter::addPoint ( double  x,
double  y,
double  z 
)

Definition at line 16 of file qxrdplanefitter.cpp.

References s, sx, sxx, sxy, sxz, sy, syy, syz, and sz.

Referenced by QxrdCenterFinder::calculateCalibration().

17 {
18  s += 1;
19  sx += x;
20  sy += y;
21  sxx += x*x;
22  syy += y*y;
23  sxy += x*y;
24  sz += z;
25  sxz += x*z;
26  syz += y*z;
27 }

Here is the caller graph for this function:

double QxrdPlaneFitter::value ( double  x,
double  y 
)

Definition at line 29 of file qxrdplanefitter.cpp.

References s, sx, sxx, sxy, sxz, sy, syy, syz, and sz.

Referenced by QxrdCenterFinder::calculateCalibration().

30 {
31  double a = -(sx*(sy*syz-syy*sz)+sxy*(sy*sz-s*syz)+sxz*(s*syy-sy*sy))/(sxx*(sy*sy-s*syy)+sx*sx*syy-2*sx*sxy*sy+s*sxy*sxy);
32  double b = (sxx*(sy*sz-s*syz)-sx*sxy*sz+sx*sx*syz+sxz*(s*sxy-sx*sy))/(sxx*(sy*sy-s*syy)+sx*sx*syy-2*sx*sxy*sy+s*sxy*sxy);
33  double c = -(sxx*(syy*sz-sy*syz)-sxy*sxy*sz+sx*sxy*syz+sxz*(sxy*sy-sx*syy))/(sxx*(sy*sy-s*syy)+sx*sx*syy-2*sx*sxy*sy+s*sxy*sxy);
34 
35  return a*x + b*y + c;
36 }

Here is the caller graph for this function:

Member Data Documentation

double QxrdPlaneFitter::s
private

Definition at line 13 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sx
private

Definition at line 14 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sxx
private

Definition at line 16 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sxy
private

Definition at line 18 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sxz
private

Definition at line 20 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sy
private

Definition at line 15 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::syy
private

Definition at line 17 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::syz
private

Definition at line 21 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().

double QxrdPlaneFitter::sz
private

Definition at line 19 of file qxrdplanefitter.h.

Referenced by addPoint(), and value().


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