BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
BesPointErr Class Reference

#include <BesPointErr.h>

+ Inheritance diagram for BesPointErr:

Public Types

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)
 

Detailed Description

Definition at line 44 of file BesPointErr.h.

Member Enumeration Documentation

◆ CylindricalCoordinateIndex

Enumerator
C_Rho 
C_Zeta 
C_Phi 
NUM_CCOORDINATES 

Definition at line 53 of file BesPointErr.h.

53 {
54 C_Rho = 0,
55 C_Zeta = 1,
56 C_Phi = 2,
58 };

◆ PolarCoordinateIndex

Enumerator
Rho 
Theta 
Phi 
NUM_PCOORDINATES 

Definition at line 47 of file BesPointErr.h.

47 {
48 Rho = 0,
49 Theta = 1,
50 Phi = 2,
52 };

Constructor & Destructor Documentation

◆ BesPointErr() [1/4]

BesPointErr::BesPointErr ( )
inline

Definition at line 59 of file BesPointErr.h.

59: HepPoint3D(), _covMatrix(3) {}
HepGeom::Point3D< double > HepPoint3D
Definition BesPointErr.h:38

◆ BesPointErr() [2/4]

BesPointErr::BesPointErr ( const HepPoint3D & p)
inline

Definition at line 60 of file BesPointErr.h.

60 : HepPoint3D(p),
61 _covMatrix(3) {}

◆ BesPointErr() [3/4]

BesPointErr::BesPointErr ( const HepPoint3D & p,
const BesError & covMat )
inline

Definition at line 62 of file BesPointErr.h.

62 : HepPoint3D(p),
63 _covMatrix(3) { _covMatrix=covMat; }

◆ BesPointErr() [4/4]

BesPointErr::BesPointErr ( const BesPointErr & v)
inline

Definition at line 66 of file BesPointErr.h.

66: HepPoint3D(),_covMatrix(3) {*this = v;}
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35

Member Function Documentation

◆ covMatrix()

const BesError & BesPointErr::covMatrix ( ) const
inline

Definition at line 84 of file BesPointErr.h.

84{ return _covMatrix; }

Referenced by covRTPMatrix(), covRZPMatrix(), TrkHelixUtils::helixFromMomErr(), TrkHelixUtils::lineFromMomErr(), and operator<<().

◆ covRTPMatrix()

BesError BesPointErr::covRTPMatrix ( ) const

Definition at line 83 of file BesPointErr.cxx.

83 {
84 // protect against 0's
85 double xv = x()==0 ? FLT_MIN : x();
86 double yv = y()==0 ? FLT_MIN : y();
87 double zv = z()==0 ? FLT_MIN : z();
88 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
90 pars[Rho] = sqrt(xDF*xDF + yDF*yDF + zDF*zDF);
91 pars[Phi] = atan2(yDF,xDF);
92 pars[Theta] = acos(zDF/pars[Rho]);
93 return covMatrix().similarity(pars.jacobian());
94}
Double_t x[10]
BesError similarity(const HepRotation &rot) const
Definition BesError.cxx:51
const BesError & covMatrix() const
Definition BesPointErr.h:84
double y[1000]

◆ covRZPMatrix()

BesError BesPointErr::covRZPMatrix ( ) const

Definition at line 96 of file BesPointErr.cxx.

96 {
97 // protect against 0's
98 double xv = x()==0 ? FLT_MIN : x();
99 double yv = y()==0 ? FLT_MIN : y();
100 double zv = z()==0 ? FLT_MIN : z();
101 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
103 pars[C_Rho] = sqrt(xDF*xDF + yDF*yDF );
104 pars[C_Phi] = atan2(yDF,xDF);
105 pars[C_Zeta] = zDF;
106 return covMatrix().similarity(pars.jacobian());
107}

◆ determineChisq()

double BesPointErr::determineChisq ( const HepPoint3D & diffPoint) const
inline

Definition at line 68 of file BesPointErr.h.

69 {
70 HepVector temp(3);
71 temp[0] = diffPoint.x()-this->x();
72 temp[1] = diffPoint.y()-this->y();
73 temp[2] = diffPoint.z()-this->z();
74 return _covMatrix.determineChisq(temp);
75 }
double determineChisq(const HepVector &diff) const
Definition BesError.cxx:109

◆ setCovMatrix()

void BesPointErr::setCovMatrix ( const BesError & v)
inline

Definition at line 85 of file BesPointErr.h.

85{ _covMatrix = v; }

Referenced by operator>>().


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