BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
BesVectorErr Class Reference

#include <BesVectorErr.h>

+ Inheritance diagram for BesVectorErr:

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

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

Detailed Description

Definition at line 39 of file BesVectorErr.h.

Member Enumeration Documentation

◆ CylindricalCoordinateIndex

Enumerator
C_Rho 
C_Zeta 
C_Phi 
NUM_CCOORDINATES 

Definition at line 50 of file BesVectorErr.h.

50 {
51 C_Rho = 0,
52 C_Zeta = 1,
53 C_Phi = 2,
55 };

◆ PolarCoordinateIndex

Enumerator
Rho 
Theta 
Phi 
NUM_PCOORDINATES 

Definition at line 43 of file BesVectorErr.h.

43 {
44 Rho = 0,
45 Theta = 1,
46 Phi = 2,
48 };

Constructor & Destructor Documentation

◆ BesVectorErr() [1/4]

BesVectorErr::BesVectorErr ( )
inline

Definition at line 57 of file BesVectorErr.h.

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

Referenced by operator-().

◆ BesVectorErr() [2/4]

BesVectorErr::BesVectorErr ( const Hep3Vector &  p)
inline

Definition at line 60 of file BesVectorErr.h.

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

◆ BesVectorErr() [3/4]

BesVectorErr::BesVectorErr ( const Hep3Vector &  p,
const BesError covMat 
)
inline

Definition at line 61 of file BesVectorErr.h.

61 : Hep3Vector(p),
62 _covMatrix(NUM_COORDINATES) { _covMatrix=covMat; }

◆ BesVectorErr() [4/4]

BesVectorErr::BesVectorErr ( const BesVectorErr v)
inline

Definition at line 65 of file BesVectorErr.h.

65 : Hep3Vector(v),
66 _covMatrix(v.covMatrix()) {}
**********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 & BesVectorErr::covMatrix ( ) const
inline

◆ covRTPMatrix()

BesError BesVectorErr::covRTPMatrix ( ) const

Definition at line 56 of file BesVectorErr.cxx.

56 {
57 // protect against 0's
58 double xv = x()==0 ? FLT_MIN : x();
59 double yv = y()==0 ? FLT_MIN : y();
60 double zv = z()==0 ? FLT_MIN : z();
61 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
63 pars[Rho] = sqrt(xDF*xDF + yDF*yDF + zDF*zDF);
64 pars[Phi] = atan2(yDF,xDF);
65 pars[Theta] = acos(zDF/pars[Rho]);
66 return covMatrix().similarity(pars.jacobian());
67}
Double_t x[10]
BesError similarity(const HepRotation &rot) const
Definition: BesError.cxx:51
const BesError & covMatrix() const
Definition: BesVectorErr.h:121

◆ covRZPMatrix()

BesError BesVectorErr::covRZPMatrix ( ) const

Definition at line 69 of file BesVectorErr.cxx.

69 {
70 // protect against 0's
71 double xv = x()==0 ? FLT_MIN : x();
72 double yv = y()==0 ? FLT_MIN : y();
73 double zv = z()==0 ? FLT_MIN : z();
74 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3);
76 pars[C_Rho] = sqrt(xDF*xDF + yDF*yDF);
77 pars[C_Phi] = atan2(yDF,xDF);
78 pars[C_Zeta] = zDF;
79 return covMatrix().similarity(pars.jacobian());
80}

◆ determineChisq()

double BesVectorErr::determineChisq ( const Hep3Vector &  refVector) const

Definition at line 82 of file BesVectorErr.cxx.

83{
84 HepVector temp(NUM_COORDINATES, 0);
85 temp[0] = refVector.x()-this->x();
86 temp[1] = refVector.y()-this->y();
87 temp[2] = refVector.z()-this->z();
88 return _covMatrix.determineChisq(temp);
89}
double determineChisq(const HepVector &diff) const
Definition: BesError.cxx:109

◆ operator+=()

BesVectorErr & BesVectorErr::operator+= ( const BesVectorErr v)
inline

Definition at line 86 of file BesVectorErr.h.

86 {
87 Hep3Vector::operator+=(v);
88 _covMatrix += v.covMatrix();
89 return *this;
90 }

◆ operator-()

BesVectorErr BesVectorErr::operator- ( )
inline

Definition at line 81 of file BesVectorErr.h.

81 {
82 Hep3Vector t = *this;
83 return BesVectorErr( -t, _covMatrix); // _covMatrix remains unaltered
84 }
int t()
Definition: t.c:1

◆ operator-=()

BesVectorErr & BesVectorErr::operator-= ( const BesVectorErr v)
inline

Definition at line 92 of file BesVectorErr.h.

92 {
93 Hep3Vector::operator-=(v);
94 _covMatrix += v.covMatrix();
95 return *this;
96 }

◆ operator=()

BesVectorErr & BesVectorErr::operator= ( const BesVectorErr v)
inline

Definition at line 72 of file BesVectorErr.h.

73 {
74 if (this != &v) {
75 Hep3Vector::operator=(v);
76 _covMatrix = v.covMatrix();
77 }
78 return *this;
79 }

◆ setCovMatrix()

void BesVectorErr::setCovMatrix ( const BesError v)
inline

Definition at line 131 of file BesVectorErr.h.

131{ _covMatrix = v; }

Referenced by operator>>().


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