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

#include <DifVector.h>

+ Inheritance diagram for DifVector:

Public Member Functions

 DifVector ()
 
 DifVector (const DifNumber &x, const DifNumber &y, const DifNumber &z)
 
 DifVector (double x, double y, double z)
 
 DifVector (const Hep3Vector &v)
 
 DifVector (const DifVector &v)
 
 ~DifVector ()
 
HepSymMatrix errorMatrix (const HepSymMatrix &e) const
 
HepMatrix jacobian () const
 
DifVectoroperator+= (const DifVector &v)
 
DifVectoroperator-= (const DifVector &v)
 
DifVectoroperator*= (const DifNumber &n)
 
DifVectoroperator*= (const double &n)
 
DifVectoroperator/= (const DifNumber &n)
 
DifVectoroperator/= (const double &n)
 
DifVectoroperator= (const DifVector &v)
 
DifVector operator- () const
 
int nPar () const
 
void print () const
 
DifVectorflipsign ()
 
DifVectornormalize ()
 
DifVectorzeroDerivatives ()
 
DifVectorrotate (const DifVector &axis, const DifNumber &angle)
 
DifVectorrotate (const DifVector &axis, const DifNumber &cosine, const DifNumber &sine)
 
DifVectorrotate (const DifNumber &alpha, const DifNumber &beta, const DifNumber &gamma)
 
DifVectorrotate (const DifRotation &r)
 
DifVectorrotateX (const DifNumber &angle)
 
DifVectorrotateX (const DifNumber &cosine, const DifNumber &sine)
 
DifVectorrotateY (const DifNumber &angle)
 
DifVectorrotateY (const DifNumber &cosine, const DifNumber &sine)
 
DifVectorrotateZ (const DifNumber &angle)
 
DifVectorrotateZ (const DifNumber &cosine, const DifNumber &sine)
 
DifVectorrotate (const DifVector &axis, const double &angle)
 
DifVectorrotate (const DifVector &axis, const double &cosine, const double &sine)
 
DifVectorrotate (const double &alpha, const double &beta, const double &gamma)
 
DifVectorrotateX (const double &angle)
 
DifVectorrotateX (const double &cosine, const double &sine)
 
DifVectorrotateY (const double &angle)
 
DifVectorrotateY (const double &cosine, const double &sine)
 
DifVectorrotateZ (const double &angle)
 
DifVectorrotateZ (const double &cosine, const double &sine)
 
DifVector transverse (const DifVector &v) const
 
DifNumber dot (const DifVector &v) const
 
DifNumber length () const
 
DifNumber lengthSq () const
 
DifVector unit () const
 
DifNumber perp () const
 
DifNumber perpSq () const
 
DifNumber r () const
 
DifNumber phi () const
 
DifNumber theta () const
 
DifNumber cosTheta () const
 

Public Attributes

DifNumber x
 
DifNumber y
 
DifNumber z
 

Friends

DifVector operator+ (const DifVector &a, const DifVector &b)
 
DifVector operator- (const DifVector &a, const DifVector &b)
 
DifNumber operator* (const DifVector &a, const DifVector &b)
 
DifVector operator* (const DifVector &v, const DifNumber &n)
 
DifVector operator* (const DifNumber &n, const DifVector &v)
 
DifVector operator/ (const DifVector &v, const DifNumber &n)
 
DifVector operator* (const DifVector &v, const double &n)
 
DifVector operator* (const double &n, const DifVector &v)
 
DifVector operator/ (const DifVector &v, const double &n)
 
DifVector cross (const DifVector &a, const DifVector &b)
 

Detailed Description

Definition at line 32 of file DifVector.h.

Constructor & Destructor Documentation

◆ DifVector() [1/5]

DifVector::DifVector ( )

Definition at line 32 of file DifVector.cxx.

33 :x(0.0),y(0.0),z(0.0)
34{}
DifNumber y
Definition: DifVector.h:149
DifNumber x
Definition: DifVector.h:148
DifNumber z
Definition: DifVector.h:150

◆ DifVector() [2/5]

DifVector::DifVector ( const DifNumber x,
const DifNumber y,
const DifNumber z 
)

Definition at line 36 of file DifVector.cxx.

38 :x(X),y(Y),z(Z)
39{}

◆ DifVector() [3/5]

DifVector::DifVector ( double  x,
double  y,
double  z 
)

Definition at line 41 of file DifVector.cxx.

43 :x(X),y(Y),z(Z)
44{}

◆ DifVector() [4/5]

DifVector::DifVector ( const Hep3Vector &  v)

Definition at line 46 of file DifVector.cxx.

47 :x(v.x()),y(v.y()),z(v.z())
48{}
**********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

◆ DifVector() [5/5]

DifVector::DifVector ( const DifVector v)

Definition at line 50 of file DifVector.cxx.

51 :x(v.x),y(v.y),z(v.z)
52{}

◆ ~DifVector()

DifVector::~DifVector ( )
inline

Definition at line 47 of file DifVector.h.

47{} // destroy

Member Function Documentation

◆ cosTheta()

DifNumber DifVector::cosTheta ( ) const

◆ dot()

DifNumber DifVector::dot ( const DifVector v) const
inline

◆ errorMatrix()

HepSymMatrix DifVector::errorMatrix ( const HepSymMatrix &  e) const

Definition at line 54 of file DifVector.cxx.

54 {
55 HepSymMatrix temp(3);
56 temp(1,1)=correlation(x,x,e);
57 temp(1,2)=correlation(x,y,e);
58 temp(1,3)=correlation(x,z,e);
59 temp(2,2)=correlation(y,y,e);
60 temp(2,3)=correlation(y,z,e);
61 temp(3,3)=correlation(z,z,e);
62 return temp;
63}
double correlation(const DifNumber &a, const DifNumber &b)
Definition: DifNumber.cxx:72

Referenced by TrkCompTrk::directionErr(), TrkRep::directionErr(), TrkCompTrk::positionErr(), and TrkRep::positionErr().

◆ flipsign()

DifVector & DifVector::flipsign ( )
inline

◆ jacobian()

HepMatrix DifVector::jacobian ( ) const

Definition at line 65 of file DifVector.cxx.

65 {
66 int npar=x.nPar();
67 HepMatrix temp(3,npar);
68 for(int i=1; i<=npar; i++){
69 temp(1,i)=x.derivative(i);
70 temp(2,i)=y.derivative(i);
71 temp(3,i)=z.derivative(i);
72 } // (int i=1; i<=npar; i++)
73 return temp;
74}
double derivative(int i) const
Definition: DifNumber.h:90
int nPar() const
Definition: DifNumber.h:92

◆ length()

DifNumber DifVector::length ( ) const
inline

◆ lengthSq()

DifNumber DifVector::lengthSq ( ) const
inline

◆ normalize()

◆ nPar()

int DifVector::nPar ( ) const
inline

◆ operator*=() [1/2]

DifVector & DifVector::operator*= ( const DifNumber n)
inline

◆ operator*=() [2/2]

DifVector & DifVector::operator*= ( const double &  n)
inline

◆ operator+=()

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

◆ operator-()

DifVector DifVector::operator- ( ) const
inline

◆ operator-=()

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

◆ operator/=() [1/2]

DifVector & DifVector::operator/= ( const DifNumber n)

◆ operator/=() [2/2]

DifVector & DifVector::operator/= ( const double &  n)

◆ operator=()

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

◆ perp()

DifNumber DifVector::perp ( ) const
inline

◆ perpSq()

DifNumber DifVector::perpSq ( ) const
inline

◆ phi()

DifNumber DifVector::phi ( ) const

◆ print()

void DifVector::print ( ) const

Definition at line 85 of file DifVector.cxx.

85 {
86 /*SKIP
87 cout << "x:" << x;
88 cout << "y:" << y;
89 cout << "z:" << z;
90 */
91 //yzhang TEMP
92 cout << "Yzhang::DifVector::print x,y,z SKIPED!\n";
93}

◆ r()

DifNumber DifVector::r ( ) const

Referenced by rotate().

◆ rotate() [1/7]

DifVector & DifVector::rotate ( const DifNumber alpha,
const DifNumber beta,
const DifNumber gamma 
)

Definition at line 80 of file DifVector.cxx.

80 {
81 DifRotation(a,b,g).rotate(*this);
82 return *this;
83}
void rotate(DifVector &v) const
Definition: DifRotation.cxx:68

◆ rotate() [2/7]

DifVector & DifVector::rotate ( const DifRotation r)

Definition at line 76 of file DifVector.cxx.

76 {
77 r.rotate(*this); return *this;
78}
DifNumber r() const

◆ rotate() [3/7]

DifVector & DifVector::rotate ( const DifVector axis,
const DifNumber angle 
)
inline

◆ rotate() [4/7]

DifVector & DifVector::rotate ( const DifVector axis,
const DifNumber cosine,
const DifNumber sine 
)
inline

◆ rotate() [5/7]

DifVector & DifVector::rotate ( const DifVector axis,
const double &  angle 
)
inline

◆ rotate() [6/7]

DifVector & DifVector::rotate ( const DifVector axis,
const double &  cosine,
const double &  sine 
)
inline

◆ rotate() [7/7]

DifVector & DifVector::rotate ( const double &  alpha,
const double &  beta,
const double &  gamma 
)

◆ rotateX() [1/4]

DifVector & DifVector::rotateX ( const DifNumber angle)
inline

◆ rotateX() [2/4]

DifVector & DifVector::rotateX ( const DifNumber cosine,
const DifNumber sine 
)
inline

◆ rotateX() [3/4]

DifVector & DifVector::rotateX ( const double &  angle)
inline

◆ rotateX() [4/4]

DifVector & DifVector::rotateX ( const double &  cosine,
const double &  sine 
)
inline

◆ rotateY() [1/4]

DifVector & DifVector::rotateY ( const DifNumber angle)
inline

◆ rotateY() [2/4]

DifVector & DifVector::rotateY ( const DifNumber cosine,
const DifNumber sine 
)
inline

◆ rotateY() [3/4]

DifVector & DifVector::rotateY ( const double &  angle)
inline

◆ rotateY() [4/4]

DifVector & DifVector::rotateY ( const double &  cosine,
const double &  sine 
)
inline

◆ rotateZ() [1/4]

DifVector & DifVector::rotateZ ( const DifNumber angle)
inline

◆ rotateZ() [2/4]

DifVector & DifVector::rotateZ ( const DifNumber cosine,
const DifNumber sine 
)
inline

◆ rotateZ() [3/4]

DifVector & DifVector::rotateZ ( const double &  angle)
inline

◆ rotateZ() [4/4]

DifVector & DifVector::rotateZ ( const double &  cosine,
const double &  sine 
)
inline

◆ theta()

DifNumber DifVector::theta ( ) const

◆ transverse()

DifVector DifVector::transverse ( const DifVector v) const
inline

◆ unit()

DifVector DifVector::unit ( ) const
inline

◆ zeroDerivatives()

DifVector & DifVector::zeroDerivatives ( )
inline

Friends And Related Function Documentation

◆ cross

DifVector cross ( const DifVector a,
const DifVector b 
)
friend

◆ operator* [1/5]

DifVector operator* ( const DifNumber n,
const DifVector v 
)
friend

◆ operator* [2/5]

DifNumber operator* ( const DifVector a,
const DifVector b 
)
friend

◆ operator* [3/5]

DifVector operator* ( const DifVector v,
const DifNumber n 
)
friend

◆ operator* [4/5]

DifVector operator* ( const DifVector v,
const double &  n 
)
friend

◆ operator* [5/5]

DifVector operator* ( const double &  n,
const DifVector v 
)
friend

◆ operator+

DifVector operator+ ( const DifVector a,
const DifVector b 
)
friend

◆ operator-

DifVector operator- ( const DifVector a,
const DifVector b 
)
friend

◆ operator/ [1/2]

DifVector operator/ ( const DifVector v,
const DifNumber n 
)
friend

◆ operator/ [2/2]

DifVector operator/ ( const DifVector v,
const double &  n 
)
friend

Member Data Documentation

◆ x

◆ y

◆ z


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