CGEM BOSS 6.6.5.f
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
 
 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)
 
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

Constructor & Destructor Documentation

◆ DifVector() [1/10]

DifVector::DifVector ( )

◆ DifVector() [2/10]

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/10]

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/10]

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/10]

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() [1/2]

DifVector::~DifVector ( )
inline

Definition at line 47 of file InstallArea/include/MdcRecoUtil/MdcRecoUtil/DifVector.h.

47{} // destroy

◆ DifVector() [6/10]

DifVector::DifVector ( )

◆ DifVector() [7/10]

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

◆ DifVector() [8/10]

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

◆ DifVector() [9/10]

DifVector::DifVector ( const Hep3Vector &  v)

◆ DifVector() [10/10]

DifVector::DifVector ( const DifVector v)

◆ ~DifVector() [2/2]

DifVector::~DifVector ( )
inline

Member Function Documentation

◆ cosTheta() [1/2]

DifNumber DifVector::cosTheta ( ) const

◆ cosTheta() [2/2]

DifNumber DifVector::cosTheta ( ) const

◆ dot() [1/2]

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

◆ dot() [2/2]

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

◆ errorMatrix() [1/2]

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().

◆ errorMatrix() [2/2]

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

◆ flipsign() [1/2]

DifVector & DifVector::flipsign ( )
inline

◆ flipsign() [2/2]

DifVector & DifVector::flipsign ( )
inline

◆ jacobian() [1/2]

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}

◆ jacobian() [2/2]

HepMatrix DifVector::jacobian ( ) const

◆ length() [1/2]

DifNumber DifVector::length ( ) const
inline

◆ length() [2/2]

DifNumber DifVector::length ( ) const
inline

◆ lengthSq() [1/2]

DifNumber DifVector::lengthSq ( ) const
inline

◆ lengthSq() [2/2]

DifNumber DifVector::lengthSq ( ) const
inline

◆ normalize() [1/2]

◆ normalize() [2/2]

DifVector & DifVector::normalize ( )
inline

◆ nPar() [1/2]

int DifVector::nPar ( ) const
inline

◆ nPar() [2/2]

int DifVector::nPar ( ) const
inline

◆ operator*=() [1/4]

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

◆ operator*=() [2/4]

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

◆ operator*=() [3/4]

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

◆ operator*=() [4/4]

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

◆ operator+=() [1/2]

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

◆ operator+=() [2/2]

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

◆ operator-() [1/2]

DifVector DifVector::operator- ( ) const
inline

◆ operator-() [2/2]

DifVector DifVector::operator- ( ) const
inline

◆ operator-=() [1/2]

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

◆ operator-=() [2/2]

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

◆ operator/=() [1/4]

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

◆ operator/=() [2/4]

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

◆ operator/=() [3/4]

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

◆ operator/=() [4/4]

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ perp() [1/2]

DifNumber DifVector::perp ( ) const
inline

◆ perp() [2/2]

DifNumber DifVector::perp ( ) const
inline

◆ perpSq() [1/2]

DifNumber DifVector::perpSq ( ) const
inline

◆ perpSq() [2/2]

DifNumber DifVector::perpSq ( ) const
inline

◆ phi() [1/2]

DifNumber DifVector::phi ( ) const

◆ phi() [2/2]

DifNumber DifVector::phi ( ) const

◆ print() [1/2]

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}

◆ print() [2/2]

void DifVector::print ( ) const

◆ r() [1/2]

DifNumber DifVector::r ( ) const

Referenced by rotate().

◆ r() [2/2]

DifNumber DifVector::r ( ) const

◆ rotate() [1/14]

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/14]

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

◆ rotate() [3/14]

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() [4/14]

DifVector & DifVector::rotate ( const DifRotation r)

◆ rotate() [5/14]

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

◆ rotate() [6/14]

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

◆ rotate() [7/14]

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

◆ rotate() [8/14]

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

◆ rotate() [9/14]

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

◆ rotate() [10/14]

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

◆ rotate() [11/14]

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

◆ rotate() [12/14]

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

◆ rotate() [13/14]

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

◆ rotate() [14/14]

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

◆ rotateX() [1/8]

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

◆ rotateX() [2/8]

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

◆ rotateX() [3/8]

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

◆ rotateX() [4/8]

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

◆ rotateX() [5/8]

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

◆ rotateX() [6/8]

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

◆ rotateX() [7/8]

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

◆ rotateX() [8/8]

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

◆ rotateY() [1/8]

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

◆ rotateY() [2/8]

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

◆ rotateY() [3/8]

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

◆ rotateY() [4/8]

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

◆ rotateY() [5/8]

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

◆ rotateY() [6/8]

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

◆ rotateY() [7/8]

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

◆ rotateY() [8/8]

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

◆ rotateZ() [1/8]

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

◆ rotateZ() [2/8]

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

◆ rotateZ() [3/8]

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

◆ rotateZ() [4/8]

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

◆ rotateZ() [5/8]

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

◆ rotateZ() [6/8]

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

◆ rotateZ() [7/8]

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

◆ rotateZ() [8/8]

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

◆ theta() [1/2]

DifNumber DifVector::theta ( ) const

◆ theta() [2/2]

DifNumber DifVector::theta ( ) const

◆ transverse() [1/2]

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

◆ transverse() [2/2]

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

◆ unit() [1/2]

DifVector DifVector::unit ( ) const
inline

◆ unit() [2/2]

DifVector DifVector::unit ( ) const
inline

◆ zeroDerivatives() [1/2]

DifVector & DifVector::zeroDerivatives ( )
inline

◆ zeroDerivatives() [2/2]

DifVector & DifVector::zeroDerivatives ( )
inline

Friends And Related Function Documentation

◆ cross [1/2]

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

◆ cross [2/2]

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

◆ operator* [1/10]

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

◆ operator* [2/10]

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

◆ operator* [3/10]

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

◆ operator* [4/10]

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

◆ operator* [5/10]

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

◆ operator* [6/10]

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

◆ operator* [7/10]

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

◆ operator* [8/10]

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

◆ operator* [9/10]

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

◆ operator* [10/10]

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

◆ operator+ [1/2]

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

◆ operator+ [2/2]

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

◆ operator- [1/2]

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

◆ operator- [2/2]

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

◆ operator/ [1/4]

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

◆ operator/ [2/4]

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

◆ operator/ [3/4]

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

◆ operator/ [4/4]

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: