Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BesVectorErr Class Reference

#include <BesVectorErr.h>

List of all members.

Public Types

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

Public Member Functions

 BesVectorErr (const BesVectorErr &v)
 BesVectorErr (const Hep3Vector &p, const BesError &covMat)
 BesVectorErr (const Hep3Vector &p)
 BesVectorErr ()
 BesVectorErr (const BesVectorErr &v)
 BesVectorErr (const Hep3Vector &p, const BesError &covMat)
 BesVectorErr (const Hep3Vector &p)
 BesVectorErr ()
const BesErrorcovMatrix () const
const BesErrorcovMatrix () const
BesError covRTPMatrix () const
BesError covRTPMatrix () const
BesError covRZPMatrix () const
BesError covRZPMatrix () const
double determineChisq (const Hep3Vector &refVector) const
double determineChisq (const Hep3Vector &refVector) const
BesVectorErroperator+= (const BesVectorErr &v)
BesVectorErroperator+= (const BesVectorErr &v)
BesVectorErr operator- ()
BesVectorErr operator- ()
BesVectorErroperator-= (const BesVectorErr &v)
BesVectorErroperator-= (const BesVectorErr &v)
BesVectorErroperator= (const BesVectorErr &v)
BesVectorErroperator= (const BesVectorErr &v)
void setCovMatrix (const BesError &v)
void setCovMatrix (const BesError &v)

Private Attributes

BesError _covMatrix


Member Enumeration Documentation

enum BesVectorErr::CylindricalCoordinateIndex
 

Enumeration values:
C_Rho 
C_Zeta 
C_Phi 
NUM_CCOORDINATES 
00050                                   {   
00051     C_Rho = 0, 
00052     C_Zeta = 1, 
00053     C_Phi = 2,
00054     NUM_CCOORDINATES = 3
00055   };

enum BesVectorErr::CylindricalCoordinateIndex
 

Enumeration values:
C_Rho 
C_Zeta 
C_Phi 
NUM_CCOORDINATES 
00050                                   {   
00051     C_Rho = 0, 
00052     C_Zeta = 1, 
00053     C_Phi = 2,
00054     NUM_CCOORDINATES = 3
00055   };

enum BesVectorErr::PolarCoordinateIndex
 

Enumeration values:
Rho 
Theta 
Phi 
NUM_PCOORDINATES 
00043                             {   
00044     Rho = 0, 
00045     Theta = 1, 
00046     Phi = 2,
00047     NUM_PCOORDINATES = 3
00048   };

enum BesVectorErr::PolarCoordinateIndex
 

Enumeration values:
Rho 
Theta 
Phi 
NUM_PCOORDINATES 
00043                             {   
00044     Rho = 0, 
00045     Theta = 1, 
00046     Phi = 2,
00047     NUM_PCOORDINATES = 3
00048   };


Constructor & Destructor Documentation

BesVectorErr::BesVectorErr  )  [inline]
 

00057 : Hep3Vector(), _covMatrix(NUM_COORDINATES) {}

BesVectorErr::BesVectorErr const Hep3Vector &  p  )  [inline]
 

00060 : Hep3Vector(p), _covMatrix(NUM_COORDINATES)    {}

BesVectorErr::BesVectorErr const Hep3Vector &  p,
const BesError covMat
[inline]
 

00061                                                             : Hep3Vector(p),
00062   _covMatrix(NUM_COORDINATES)                           { _covMatrix=covMat; }

BesVectorErr::BesVectorErr const BesVectorErr v  )  [inline]
 

00065                                       : Hep3Vector(v),
00066     _covMatrix(v.covMatrix())   {}

BesVectorErr::BesVectorErr  )  [inline]
 

00057 : Hep3Vector(), _covMatrix(NUM_COORDINATES) {}

BesVectorErr::BesVectorErr const Hep3Vector &  p  )  [inline]
 

00060 : Hep3Vector(p), _covMatrix(NUM_COORDINATES)    {}

BesVectorErr::BesVectorErr const Hep3Vector &  p,
const BesError covMat
[inline]
 

00061                                                             : Hep3Vector(p),
00062   _covMatrix(NUM_COORDINATES)                           { _covMatrix=covMat; }

BesVectorErr::BesVectorErr const BesVectorErr v  )  [inline]
 

00065                                       : Hep3Vector(v),
00066     _covMatrix(v.covMatrix())   {}


Member Function Documentation

const BesError& BesVectorErr::covMatrix  )  const [inline]
 

00121 { return _covMatrix; }

const BesError& BesVectorErr::covMatrix  )  const [inline]
 

00121 { return _covMatrix; }

BesError BesVectorErr::covRTPMatrix  )  const
 

BesError BesVectorErr::covRTPMatrix  )  const
 

00056                                          {
00057   // protect against 0's
00058   double xv = x()==0 ?  FLT_MIN : x();
00059   double yv = y()==0 ?  FLT_MIN : y();
00060   double zv = z()==0 ?  FLT_MIN : z();
00061   DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
00062   DifArray pars(3,NUM_PCOORDINATES);
00063   pars[Rho]   =  sqrt(xDF*xDF + yDF*yDF + zDF*zDF);
00064   pars[Phi]   = atan2(yDF,xDF);
00065   pars[Theta] = acos(zDF/pars[Rho]);
00066   return covMatrix().similarity(pars.jacobian());
00067 }

BesError BesVectorErr::covRZPMatrix  )  const
 

BesError BesVectorErr::covRZPMatrix  )  const
 

00069                                          {
00070   // protect against 0's
00071   double xv = x()==0 ?  FLT_MIN : x();
00072   double yv = y()==0 ?  FLT_MIN : y();
00073   double zv = z()==0 ?  FLT_MIN : z();
00074   DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
00075   DifArray pars(3,NUM_CCOORDINATES);
00076   pars[C_Rho]   =  sqrt(xDF*xDF + yDF*yDF);
00077   pars[C_Phi]   = atan2(yDF,xDF);
00078   pars[C_Zeta] = zDF;
00079   return covMatrix().similarity(pars.jacobian());
00080 }

double BesVectorErr::determineChisq const Hep3Vector &  refVector  )  const
 

double BesVectorErr::determineChisq const Hep3Vector &  refVector  )  const
 

00083 {
00084    HepVector temp(NUM_COORDINATES, 0);
00085    temp[0] = refVector.x()-this->x();
00086    temp[1] = refVector.y()-this->y();
00087    temp[2] = refVector.z()-this->z();
00088    return _covMatrix.determineChisq(temp);
00089 }

BesVectorErr& BesVectorErr::operator+= const BesVectorErr v  )  [inline]
 

00086                                                    {
00087       Hep3Vector::operator+=(v);
00088       _covMatrix += v.covMatrix();
00089       return *this;
00090   }

BesVectorErr& BesVectorErr::operator+= const BesVectorErr v  )  [inline]
 

00086                                                    {
00087       Hep3Vector::operator+=(v);
00088       _covMatrix += v.covMatrix();
00089       return *this;
00090   }

BesVectorErr BesVectorErr::operator-  )  [inline]
 

00081                              {
00082       Hep3Vector t = *this;
00083       return BesVectorErr( -t, _covMatrix);  // _covMatrix remains unaltered
00084   }

BesVectorErr BesVectorErr::operator-  )  [inline]
 

00081                              {
00082       Hep3Vector t = *this;
00083       return BesVectorErr( -t, _covMatrix);  // _covMatrix remains unaltered
00084   }

BesVectorErr& BesVectorErr::operator-= const BesVectorErr v  )  [inline]
 

00092                                                    {
00093       Hep3Vector::operator-=(v);
00094       _covMatrix += v.covMatrix();
00095       return *this;
00096   }

BesVectorErr& BesVectorErr::operator-= const BesVectorErr v  )  [inline]
 

00092                                                    {
00093       Hep3Vector::operator-=(v);
00094       _covMatrix += v.covMatrix();
00095       return *this;
00096   }

BesVectorErr& BesVectorErr::operator= const BesVectorErr v  )  [inline]
 

00073     {
00074       if (this != &v) {
00075         Hep3Vector::operator=(v);
00076         _covMatrix = v.covMatrix();
00077       }
00078       return *this;
00079     }

BesVectorErr& BesVectorErr::operator= const BesVectorErr v  )  [inline]
 

00073     {
00074       if (this != &v) {
00075         Hep3Vector::operator=(v);
00076         _covMatrix = v.covMatrix();
00077       }
00078       return *this;
00079     }

void BesVectorErr::setCovMatrix const BesError v  )  [inline]
 

00131 { _covMatrix = v; }

void BesVectorErr::setCovMatrix const BesError v  )  [inline]
 

00131 { _covMatrix = v; }


Member Data Documentation

BesError BesVectorErr::_covMatrix [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:53:48 2011 for BOSS6.5.5 by  doxygen 1.3.9.1