BesPointErr Class Reference

#include <BesPointErr.h>

List of all members.

Public Types

 Rho = 0
 Theta = 1
 Phi = 2
 NUM_PCOORDINATES = 3
 C_Rho = 0
 C_Zeta = 1
 C_Phi = 2
 NUM_CCOORDINATES = 3
enum  PolarCoordinateIndex { Rho = 0, Theta = 1, Phi = 2, NUM_PCOORDINATES = 3 }
enum  CylindricalCoordinateIndex { C_Rho = 0, C_Zeta = 1, C_Phi = 2, NUM_CCOORDINATES = 3 }

Public Member Functions

 BesPointErr ()
 BesPointErr (const HepPoint3D &p)
 BesPointErr (const HepPoint3D &p, const BesError &covMat)
 BesPointErr (const BesPointErr &v)
double determineChisq (const HepPoint3D &diffPoint) const
BesError covRTPMatrix () const
BesError covRZPMatrix () const
const BesErrorcovMatrix () const
void setCovMatrix (const BesError &v)

Private Attributes

BesError _covMatrix


Detailed Description

Definition at line 44 of file BesPointErr.h.


Member Enumeration Documentation

enum BesPointErr::CylindricalCoordinateIndex

Enumerator:
C_Rho 
C_Zeta 
C_Phi 
NUM_CCOORDINATES 

Definition at line 53 of file BesPointErr.h.

00053                                     {   
00054       C_Rho = 0, 
00055       C_Zeta = 1, 
00056       C_Phi = 2,
00057       NUM_CCOORDINATES = 3
00058     };

enum BesPointErr::PolarCoordinateIndex

Enumerator:
Rho 
Theta 
Phi 
NUM_PCOORDINATES 

Definition at line 47 of file BesPointErr.h.

00047                               {   
00048       Rho = 0, 
00049       Theta = 1, 
00050       Phi = 2,
00051       NUM_PCOORDINATES = 3
00052     };


Constructor & Destructor Documentation

BesPointErr::BesPointErr (  )  [inline]

Definition at line 59 of file BesPointErr.h.

00059 : HepPoint3D(), _covMatrix(3)           {}

BesPointErr::BesPointErr ( const HepPoint3D p  )  [inline]

Definition at line 60 of file BesPointErr.h.

00060                                      : HepPoint3D(p),
00061                                        _covMatrix(3)                                            {}

BesPointErr::BesPointErr ( const HepPoint3D p,
const BesError covMat 
) [inline]

Definition at line 62 of file BesPointErr.h.

References _covMatrix.

00062                                                              : HepPoint3D(p),
00063                                                                _covMatrix(3)                                            { _covMatrix=covMat; }

BesPointErr::BesPointErr ( const BesPointErr v  )  [inline]

Definition at line 66 of file BesPointErr.h.

References v.

00066 : HepPoint3D(),_covMatrix(3)    {*this = v;}


Member Function Documentation

const BesError& BesPointErr::covMatrix (  )  const [inline]

Definition at line 84 of file BesPointErr.h.

References _covMatrix.

Referenced by covRTPMatrix(), covRZPMatrix(), and operator<<().

00084 { return _covMatrix; }

BesError BesPointErr::covRTPMatrix (  )  const

Definition at line 83 of file BesPointErr.cxx.

References covMatrix(), DifArray::jacobian(), NUM_PCOORDINATES, Phi, Rho, BesError::similarity(), Theta, and x.

00083                                         {
00084   // protect against 0's
00085   double xv = x()==0 ?  FLT_MIN : x();
00086   double yv = y()==0 ?  FLT_MIN : y();
00087   double zv = z()==0 ?  FLT_MIN : z();
00088   DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
00089   DifArray pars(3,NUM_PCOORDINATES);
00090   pars[Rho]   =  sqrt(xDF*xDF + yDF*yDF + zDF*zDF);
00091   pars[Phi]   = atan2(yDF,xDF);
00092   pars[Theta] = acos(zDF/pars[Rho]);
00093   return covMatrix().similarity(pars.jacobian());
00094 }

BesError BesPointErr::covRZPMatrix (  )  const

Definition at line 96 of file BesPointErr.cxx.

References C_Phi, C_Rho, C_Zeta, covMatrix(), DifArray::jacobian(), NUM_CCOORDINATES, BesError::similarity(), and x.

00096                                         {
00097   // protect against 0's
00098   double xv = x()==0 ?  FLT_MIN : x();
00099   double yv = y()==0 ?  FLT_MIN : y();
00100   double zv = z()==0 ?  FLT_MIN : z();
00101   DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
00102   DifArray pars(3,NUM_CCOORDINATES);
00103   pars[C_Rho]   =  sqrt(xDF*xDF + yDF*yDF );
00104   pars[C_Phi]   = atan2(yDF,xDF);
00105   pars[C_Zeta] =  zDF;
00106   return covMatrix().similarity(pars.jacobian());
00107 }

double BesPointErr::determineChisq ( const HepPoint3D diffPoint  )  const [inline]

Definition at line 68 of file BesPointErr.h.

References _covMatrix, BesError::determineChisq(), subSeperate::temp, and x.

00069     {
00070       HepVector temp(3);
00071       temp[0] = diffPoint.x()-this->x();
00072       temp[1] = diffPoint.y()-this->y();
00073       temp[2] = diffPoint.z()-this->z();
00074       return _covMatrix.determineChisq(temp);
00075     }

void BesPointErr::setCovMatrix ( const BesError v  )  [inline]

Definition at line 85 of file BesPointErr.h.

References _covMatrix, and v.

Referenced by operator>>().

00085 { _covMatrix = v; }


Member Data Documentation

BesError BesPointErr::_covMatrix [private]

Definition at line 91 of file BesPointErr.h.

Referenced by BesPointErr(), covMatrix(), determineChisq(), and setCovMatrix().


Generated on Tue Nov 29 23:17:34 2016 for BOSS_7.0.2 by  doxygen 1.4.7