CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
TLorentzVectorC Class Reference

#include <TLorentzVectorC.h>

Public Member Functions

 TLorentzVectorC ()
 
 TLorentzVectorC (std::complex< double > x, std::complex< double > y, std::complex< double > z, std::complex< double > e)
 
 ~TLorentzVectorC ()
 
void SetPxPyPzE (std::complex< double > x, std::complex< double > y, std::complex< double > z, std::complex< double > e)
 
std::complex< double > Px () const
 
std::complex< double > Py () const
 
std::complex< double > Pz () const
 
std::complex< double > E () const
 
std::complex< double > X () const
 
std::complex< double > Y () const
 
std::complex< double > Z () const
 
std::complex< double > T () const
 
TLorentzVectorCoperator= (const TLorentzVectorC &q)
 
TLorentzVectorC operator+ (const TLorentzVectorC &q) const
 
TLorentzVectorCoperator+= (const TLorentzVectorC &q)
 
TLorentzVectorC operator- (const TLorentzVectorC &q) const
 
TLorentzVectorCoperator-= (const TLorentzVectorC &q)
 
TLorentzVectorC operator- () const
 
TLorentzVectorCoperator*= (double a)
 
TLorentzVectorC operator* (double a) const
 
TLorentzVectorCoperator*= (std::complex< double > a)
 
TLorentzVectorC operator* (std::complex< double > a) const
 
std::complex< double > Dot (const TLorentzVectorC &q) const
 
std::complex< double > Dot (const TLorentzVector &q) const
 
std::complex< double > operator* (const TLorentzVectorC &q) const
 
std::complex< double > operator* (const TLorentzVector &q) const
 

Protected Attributes

std::complex< double > fx
 
std::complex< double > fy
 
std::complex< double > fz
 
std::complex< double > fe
 

Detailed Description

Definition at line 7 of file TLorentzVectorC.h.

Constructor & Destructor Documentation

◆ TLorentzVectorC() [1/2]

TLorentzVectorC::TLorentzVectorC ( )
inline

Definition at line 11 of file TLorentzVectorC.h.

11{}

Referenced by operator*(), operator+(), and operator-().

◆ TLorentzVectorC() [2/2]

TLorentzVectorC::TLorentzVectorC ( std::complex< double >  x,
std::complex< double >  y,
std::complex< double >  z,
std::complex< double >  e 
)
inline

Definition at line 12 of file TLorentzVectorC.h.

15 {
16 fx = x; fy = y; fz = z; fe = e;
17 };
Double_t x[10]
std::complex< double > fe
std::complex< double > fx
std::complex< double > fz
std::complex< double > fy

◆ ~TLorentzVectorC()

TLorentzVectorC::~TLorentzVectorC ( )
inline

Definition at line 18 of file TLorentzVectorC.h.

18{}

Member Function Documentation

◆ Dot() [1/2]

std::complex< double > TLorentzVectorC::Dot ( const TLorentzVector &  q) const
inline

Definition at line 102 of file TLorentzVectorC.h.

102 {
103 return T()*q.T() - Z()*q.Z() - Y()*q.Y() - X()*q.X();
104 }
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition: KKsem.h:33
std::complex< double > T() const
std::complex< double > X() const
std::complex< double > Z() const
std::complex< double > Y() const

◆ Dot() [2/2]

std::complex< double > TLorentzVectorC::Dot ( const TLorentzVectorC q) const
inline

Definition at line 97 of file TLorentzVectorC.h.

97 {
98 return T()*std::conj(q.T())
99 - (Z()*std::conj(q.Z()) + Y()*std::conj(q.Y()) + X()*std::conj(q.X()));
100 }

Referenced by operator*().

◆ E()

std::complex< double > TLorentzVectorC::E ( ) const
inline

Definition at line 30 of file TLorentzVectorC.h.

30{return fe;}

◆ operator*() [1/4]

std::complex< double > TLorentzVectorC::operator* ( const TLorentzVector &  q) const
inline

Definition at line 110 of file TLorentzVectorC.h.

110 {
111 return Dot(q);
112 }
std::complex< double > Dot(const TLorentzVectorC &q) const

◆ operator*() [2/4]

std::complex< double > TLorentzVectorC::operator* ( const TLorentzVectorC q) const
inline

Definition at line 106 of file TLorentzVectorC.h.

106 {
107 return Dot(q);
108 }

◆ operator*() [3/4]

TLorentzVectorC TLorentzVectorC::operator* ( double  a) const
inline

Definition at line 81 of file TLorentzVectorC.h.

81 {
82 return TLorentzVectorC(a*X(), a*Y(), a*Z(), a*T());
83 }

◆ operator*() [4/4]

TLorentzVectorC TLorentzVectorC::operator* ( std::complex< double >  a) const
inline

Definition at line 93 of file TLorentzVectorC.h.

93 {
94 return TLorentzVectorC(a*X(), a*Y(), a*Z(), a*T());
95 }

◆ operator*=() [1/2]

TLorentzVectorC & TLorentzVectorC::operator*= ( double  a)
inline

Definition at line 73 of file TLorentzVectorC.h.

73 {
74 fx *= a;
75 fy *= a;
76 fz *= a;
77 fe *= a;
78 return *this;
79 }

◆ operator*=() [2/2]

TLorentzVectorC & TLorentzVectorC::operator*= ( std::complex< double >  a)
inline

Definition at line 85 of file TLorentzVectorC.h.

85 {
86 fx *= a;
87 fy *= a;
88 fz *= a;
89 fe *= a;
90 return *this;
91 }

◆ operator+()

TLorentzVectorC TLorentzVectorC::operator+ ( const TLorentzVectorC q) const
inline

Definition at line 45 of file TLorentzVectorC.h.

45 {
46 return TLorentzVectorC(fx+q.Px(), fy+q.Py(), fz+q.Pz(), fe+q.E());
47 }

◆ operator+=()

TLorentzVectorC & TLorentzVectorC::operator+= ( const TLorentzVectorC q)
inline

Definition at line 49 of file TLorentzVectorC.h.

49 {
50 fx += q.Px();
51 fy += q.Py();
52 fz += q.Pz();
53 fe += q.T();
54 return *this;
55 }

◆ operator-() [1/2]

TLorentzVectorC TLorentzVectorC::operator- ( ) const
inline

Definition at line 69 of file TLorentzVectorC.h.

69 {
70 return TLorentzVectorC(-X(), -Y(), -Z(), -T());
71 }

◆ operator-() [2/2]

TLorentzVectorC TLorentzVectorC::operator- ( const TLorentzVectorC q) const
inline

Definition at line 57 of file TLorentzVectorC.h.

57 {
58 return TLorentzVectorC(fx-q.Px(), fy-q.Py(), fz-q.Pz(), fe-q.E());
59 }

◆ operator-=()

TLorentzVectorC & TLorentzVectorC::operator-= ( const TLorentzVectorC q)
inline

Definition at line 61 of file TLorentzVectorC.h.

61 {
62 fx -= q.Px();
63 fy -= q.Py();
64 fz -= q.Pz();
65 fe -= q.T();
66 return *this;
67 }

◆ operator=()

TLorentzVectorC & TLorentzVectorC::operator= ( const TLorentzVectorC q)
inline

Definition at line 36 of file TLorentzVectorC.h.

36 {
37 fx = q.Px();
38 fy = q.Py();
39 fz = q.Pz();
40 fe = q.E();
41 return *this;
42 }

◆ Px()

std::complex< double > TLorentzVectorC::Px ( ) const
inline

Definition at line 27 of file TLorentzVectorC.h.

27{return fx;}

◆ Py()

std::complex< double > TLorentzVectorC::Py ( ) const
inline

Definition at line 28 of file TLorentzVectorC.h.

28{return fy;}

◆ Pz()

std::complex< double > TLorentzVectorC::Pz ( ) const
inline

Definition at line 29 of file TLorentzVectorC.h.

29{return fz;}

◆ SetPxPyPzE()

void TLorentzVectorC::SetPxPyPzE ( std::complex< double >  x,
std::complex< double >  y,
std::complex< double >  z,
std::complex< double >  e 
)
inline

Definition at line 20 of file TLorentzVectorC.h.

23 {
24 fx = x; fy = y; fz = z; fe = e;
25 }

◆ T()

std::complex< double > TLorentzVectorC::T ( ) const
inline

Definition at line 34 of file TLorentzVectorC.h.

34{return fe;}

Referenced by Dot(), operator*(), and operator-().

◆ X()

std::complex< double > TLorentzVectorC::X ( ) const
inline

Definition at line 31 of file TLorentzVectorC.h.

31{return fx;}

Referenced by Dot(), operator*(), and operator-().

◆ Y()

std::complex< double > TLorentzVectorC::Y ( ) const
inline

Definition at line 32 of file TLorentzVectorC.h.

32{return fy;}

Referenced by Dot(), operator*(), and operator-().

◆ Z()

std::complex< double > TLorentzVectorC::Z ( ) const
inline

Definition at line 33 of file TLorentzVectorC.h.

33{return fz;}

Referenced by Dot(), operator*(), and operator-().

Member Data Documentation

◆ fe

std::complex<double> TLorentzVectorC::fe
protected

◆ fx

std::complex<double> TLorentzVectorC::fx
protected

◆ fy

std::complex<double> TLorentzVectorC::fy
protected

◆ fz

std::complex<double> TLorentzVectorC::fz
protected

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