BOSS 8.0.0
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

◆ 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 13 of file TLorentzVectorC.h.

14 {
15 fx = x;
16 fy = y;
17 fz = z;
18 fe = e;
19 };
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 20 of file TLorentzVectorC.h.

20{}

Member Function Documentation

◆ Dot() [1/2]

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

Definition at line 104 of file TLorentzVectorC.h.

104 {
105 return T() * q.T() - Z() * q.Z() - Y() * q.Y() - X() * q.X();
106 }
****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 99 of file TLorentzVectorC.h.

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

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

◆ E()

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

Definition at line 33 of file TLorentzVectorC.h.

33{ return fe; }

◆ operator*() [1/4]

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

Definition at line 110 of file TLorentzVectorC.h.

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

◆ operator*() [2/4]

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

Definition at line 108 of file TLorentzVectorC.h.

108{ return Dot( q ); }

◆ operator*() [3/4]

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

Definition at line 83 of file TLorentzVectorC.h.

83 {
84 return TLorentzVectorC( a * X(), a * Y(), a * Z(), a * T() );
85 }

◆ operator*() [4/4]

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

Definition at line 95 of file TLorentzVectorC.h.

95 {
96 return TLorentzVectorC( a * X(), a * Y(), a * Z(), a * T() );
97 }

◆ operator*=() [1/2]

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

Definition at line 75 of file TLorentzVectorC.h.

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

◆ operator*=() [2/2]

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

Definition at line 87 of file TLorentzVectorC.h.

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

◆ operator+()

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

Definition at line 47 of file TLorentzVectorC.h.

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

◆ operator+=()

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

Definition at line 51 of file TLorentzVectorC.h.

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

◆ operator-() [1/2]

TLorentzVectorC TLorentzVectorC::operator- ( ) const
inline

Definition at line 71 of file TLorentzVectorC.h.

71 {
72 return TLorentzVectorC( -X(), -Y(), -Z(), -T() );
73 }

◆ operator-() [2/2]

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

Definition at line 59 of file TLorentzVectorC.h.

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

◆ operator-=()

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

Definition at line 63 of file TLorentzVectorC.h.

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

◆ operator=()

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

Definition at line 39 of file TLorentzVectorC.h.

39 {
40 fx = q.Px();
41 fy = q.Py();
42 fz = q.Pz();
43 fe = q.E();
44 return *this;
45 }

◆ Px()

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

Definition at line 30 of file TLorentzVectorC.h.

30{ return fx; }

◆ Py()

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

Definition at line 31 of file TLorentzVectorC.h.

31{ return fy; }

◆ Pz()

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

Definition at line 32 of file TLorentzVectorC.h.

32{ 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 22 of file TLorentzVectorC.h.

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

◆ T()

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

Definition at line 37 of file TLorentzVectorC.h.

37{ return fe; }

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

◆ X()

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

Definition at line 34 of file TLorentzVectorC.h.

34{ return fx; }

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

◆ Y()

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

Definition at line 35 of file TLorentzVectorC.h.

35{ return fy; }

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

◆ Z()

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

Definition at line 36 of file TLorentzVectorC.h.

36{ return fz; }

Referenced by Dot(), Dot(), operator*(), 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: