BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtRaritaSchwinger Class Reference

#include <EvtRaritaSchwinger.hh>

Public Member Functions

 EvtRaritaSchwinger ()
virtual ~EvtRaritaSchwinger ()
 EvtRaritaSchwinger (const EvtRaritaSchwinger &rs)
EvtRaritaSchwingeroperator= (const EvtRaritaSchwinger &rs)
void set (int i, int j, const EvtComplex &sp)
void applyRotateEuler (double alpha, double beta, double gamma)
void applyBoostTo (const EvtVector4R p4)
void applyBoostTo (const EvtVector3R boost)
EvtRaritaSchwinger conj () const
EvtRaritaSchwingeroperator+= (const EvtRaritaSchwinger &u2)
EvtRaritaSchwingeroperator-= (const EvtRaritaSchwinger &u2)
EvtComplex get (int i, int j) const
EvtVector4C getVector (int i) const
EvtDiracSpinor getSpinor (int i) const
void setVector (int i, const EvtVector4C &v)
void setSpinor (int i, const EvtDiracSpinor &sp)

Friends

EvtRaritaSchwinger rotateEuler (const EvtRaritaSchwinger &rs, double alpha, double beta, double gamma)
EvtRaritaSchwinger boostTo (const EvtRaritaSchwinger &rs, const EvtVector4R p4)
EvtRaritaSchwinger boostTo (const EvtRaritaSchwinger &rs, const EvtVector3R boost)
EvtRaritaSchwinger dirProd (EvtVector4R v, EvtDiracSpinor u)
EvtRaritaSchwinger dirProd (EvtVector4C v, EvtDiracSpinor u)
EvtRaritaSchwinger conj (const EvtRaritaSchwinger &u2)
EvtRaritaSchwinger operator+ (const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
EvtRaritaSchwinger operator- (const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
EvtComplex operator* (const EvtRaritaSchwinger &u1, const EvtRaritaSchwinger &u2)
std::ostream & operator<< (std::ostream &s, const EvtRaritaSchwinger &rs)

Detailed Description

Definition at line 42 of file EvtRaritaSchwinger.hh.

Constructor & Destructor Documentation

◆ EvtRaritaSchwinger() [1/2]

EvtRaritaSchwinger::EvtRaritaSchwinger ( )
inline

Definition at line 90 of file EvtRaritaSchwinger.hh.

90 {
91
92 int i, j;
93 for ( i = 0; i < 4; i++ )
94 {
95 for ( j = 0; j < 4; j++ ) { _rs[i][j] = 0.0; }
96 }
97}

Referenced by boostTo, boostTo, conj(), conj, dirProd, dirProd, EvtRaritaSchwinger(), operator*, operator+, operator+=(), operator-, operator-=(), operator<<, operator=(), and rotateEuler.

◆ ~EvtRaritaSchwinger()

EvtRaritaSchwinger::~EvtRaritaSchwinger ( )
virtual

Definition at line 26 of file EvtRaritaSchwinger.cc.

26{}

◆ EvtRaritaSchwinger() [2/2]

EvtRaritaSchwinger::EvtRaritaSchwinger ( const EvtRaritaSchwinger & rs)
inline

Definition at line 99 of file EvtRaritaSchwinger.hh.

99 {
100
101 int i, j;
102 for ( i = 0; i < 4; i++ )
103 {
104 for ( j = 0; j < 4; j++ ) { _rs[i][j] = rs._rs[i][j]; }
105 }
106}

Member Function Documentation

◆ applyBoostTo() [1/2]

void EvtRaritaSchwinger::applyBoostTo ( const EvtVector3R boost)

Definition at line 94 of file EvtRaritaSchwinger.cc.

94 {
95
96 // inefficient but simple to code...
97 EvtVector4C v0 = getVector( 0 );
98 EvtVector4C v1 = getVector( 1 );
99 EvtVector4C v2 = getVector( 2 );
100 EvtVector4C v3 = getVector( 3 );
101 v0.applyBoostTo( boost );
102 v1.applyBoostTo( boost );
103 v2.applyBoostTo( boost );
104 v3.applyBoostTo( boost );
105 setVector( 0, v0 );
106 setVector( 1, v1 );
107 setVector( 2, v2 );
108 setVector( 3, v3 );
109 EvtDiracSpinor sp0 = getSpinor( 0 );
110 EvtDiracSpinor sp1 = getSpinor( 1 );
111 EvtDiracSpinor sp2 = getSpinor( 2 );
112 EvtDiracSpinor sp3 = getSpinor( 3 );
113 sp0.applyBoostTo( boost );
114 sp1.applyBoostTo( boost );
115 sp2.applyBoostTo( boost );
116 sp3.applyBoostTo( boost );
117 setSpinor( 0, sp0 );
118 setSpinor( 1, sp1 );
119 setSpinor( 2, sp2 );
120 setSpinor( 3, sp3 );
121}
void applyBoostTo(const EvtVector4R &p4)
EvtDiracSpinor getSpinor(int i) const
void setSpinor(int i, const EvtDiracSpinor &sp)
void setVector(int i, const EvtVector4C &v)
EvtVector4C getVector(int i) const
void applyBoostTo(const EvtVector4R &p4)

◆ applyBoostTo() [2/2]

void EvtRaritaSchwinger::applyBoostTo ( const EvtVector4R p4)

Definition at line 83 of file EvtRaritaSchwinger.cc.

83 {
84
85 double e = p4.get( 0 );
86
87 EvtVector3R boost( p4.get( 1 ) / e, p4.get( 2 ) / e, p4.get( 3 ) / e );
88
89 applyBoostTo( boost );
90
91 return;
92}
void applyBoostTo(const EvtVector4R p4)
double get(int i) const

Referenced by applyBoostTo(), and boostTo.

◆ applyRotateEuler()

void EvtRaritaSchwinger::applyRotateEuler ( double alpha,
double beta,
double gamma )

Definition at line 54 of file EvtRaritaSchwinger.cc.

54 {
55
56 // inefficient but simple to code...
57 EvtVector4C v0 = getVector( 0 );
58 EvtVector4C v1 = getVector( 1 );
59 EvtVector4C v2 = getVector( 2 );
60 EvtVector4C v3 = getVector( 3 );
61 v0.applyRotateEuler( alpha, beta, gamma );
62 v1.applyRotateEuler( alpha, beta, gamma );
63 v2.applyRotateEuler( alpha, beta, gamma );
64 v3.applyRotateEuler( alpha, beta, gamma );
65 setVector( 0, v0 );
66 setVector( 1, v1 );
67 setVector( 2, v2 );
68 setVector( 3, v3 );
69 EvtDiracSpinor sp0 = getSpinor( 0 );
70 EvtDiracSpinor sp1 = getSpinor( 1 );
71 EvtDiracSpinor sp2 = getSpinor( 2 );
72 EvtDiracSpinor sp3 = getSpinor( 3 );
73 sp0.applyRotateEuler( alpha, beta, gamma );
74 sp1.applyRotateEuler( alpha, beta, gamma );
75 sp2.applyRotateEuler( alpha, beta, gamma );
76 sp3.applyRotateEuler( alpha, beta, gamma );
77 setSpinor( 0, sp0 );
78 setSpinor( 1, sp1 );
79 setSpinor( 2, sp2 );
80 setSpinor( 3, sp3 );
81}
double alpha
void applyRotateEuler(double alpha, double beta, double gamma)
void applyRotateEuler(double alpha, double beta, double gamma)

Referenced by rotateEuler, and EvtRaritaSchwingerParticle::rotateToHelicityBasis().

◆ conj()

EvtRaritaSchwinger EvtRaritaSchwinger::conj ( ) const

◆ get()

EvtComplex EvtRaritaSchwinger::get ( int i,
int j ) const

Definition at line 52 of file EvtRaritaSchwinger.cc.

52{ return _rs[i][j]; }

◆ getSpinor()

EvtDiracSpinor EvtRaritaSchwinger::getSpinor ( int i) const

Definition at line 141 of file EvtRaritaSchwinger.cc.

141 {
142
143 EvtDiracSpinor tmp;
144 tmp.set( _rs[0][i], _rs[1][i], _rs[2][i], _rs[3][i] );
145 return tmp;
146}
void set(const EvtComplex &sp0, const EvtComplex &sp1, const EvtComplex &sp2, const EvtComplex &sp3)

Referenced by applyBoostTo().

◆ getVector()

EvtVector4C EvtRaritaSchwinger::getVector ( int i) const

Definition at line 135 of file EvtRaritaSchwinger.cc.

135 {
136
137 EvtVector4C tmp( _rs[i][0], _rs[i][1], _rs[i][2], _rs[i][3] );
138 return tmp;
139}

Referenced by applyBoostTo().

◆ operator+=()

EvtRaritaSchwinger & EvtRaritaSchwinger::operator+= ( const EvtRaritaSchwinger & u2)

Definition at line 205 of file EvtRaritaSchwinger.cc.

205 {
206
207 int i, j;
208
209 for ( i = 0; i < 4; i++ )
210 {
211 for ( j = 0; j < 4; j++ ) { _rs[i][j] += u2._rs[i][j]; }
212 }
213
214 return *this;
215}

◆ operator-=()

EvtRaritaSchwinger & EvtRaritaSchwinger::operator-= ( const EvtRaritaSchwinger & u2)

Definition at line 222 of file EvtRaritaSchwinger.cc.

222 {
223
224 int i, j;
225
226 for ( i = 0; i < 4; i++ )
227 {
228 for ( j = 0; j < 4; j++ ) { _rs[i][j] += u2._rs[i][j]; }
229 }
230
231 return *this;
232}

◆ operator=()

EvtRaritaSchwinger & EvtRaritaSchwinger::operator= ( const EvtRaritaSchwinger & rs)
inline

Definition at line 108 of file EvtRaritaSchwinger.hh.

108 {
109
110 int i, j;
111 for ( i = 0; i < 4; i++ )
112 {
113 for ( j = 0; j < 4; j++ ) { _rs[i][j] = rs._rs[i][j]; }
114 }
115
116 return *this;
117}

◆ set()

void EvtRaritaSchwinger::set ( int i,
int j,
const EvtComplex & sp )

Definition at line 50 of file EvtRaritaSchwinger.cc.

50{ _rs[i][j] = sp; }

◆ setSpinor()

void EvtRaritaSchwinger::setSpinor ( int i,
const EvtDiracSpinor & sp )

Definition at line 156 of file EvtRaritaSchwinger.cc.

156 {
157
158 _rs[0][i] = sp.get_spinor( 0 );
159 _rs[1][i] = sp.get_spinor( 1 );
160 _rs[2][i] = sp.get_spinor( 2 );
161 _rs[3][i] = sp.get_spinor( 3 );
162}
const EvtComplex & get_spinor(int i) const

Referenced by applyBoostTo().

◆ setVector()

void EvtRaritaSchwinger::setVector ( int i,
const EvtVector4C & v )

Definition at line 148 of file EvtRaritaSchwinger.cc.

148 {
149
150 _rs[i][0] = v.get( 0 );
151 _rs[i][1] = v.get( 1 );
152 _rs[i][2] = v.get( 2 );
153 _rs[i][3] = v.get( 3 );
154}
**********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

Referenced by applyBoostTo().

◆ boostTo [1/2]

EvtRaritaSchwinger boostTo ( const EvtRaritaSchwinger & rs,
const EvtVector3R boost )
friend

Definition at line 43 of file EvtRaritaSchwinger.cc.

43 {
44
45 EvtRaritaSchwinger tmp( rs );
46 tmp.applyBoostTo( boost );
47 return tmp;
48}

◆ boostTo [2/2]

EvtRaritaSchwinger boostTo ( const EvtRaritaSchwinger & rs,
const EvtVector4R p4 )
friend

Definition at line 36 of file EvtRaritaSchwinger.cc.

36 {
37
38 EvtRaritaSchwinger tmp( rs );
39 tmp.applyBoostTo( p4 );
40 return tmp;
41}

◆ conj

EvtRaritaSchwinger conj ( const EvtRaritaSchwinger & u2)
friend

◆ dirProd [1/2]

EvtRaritaSchwinger dirProd ( EvtVector4C v,
EvtDiracSpinor u )
friend

Definition at line 178 of file EvtRaritaSchwinger.cc.

178 {
179
180 int i, j;
181
183
184 for ( i = 0; i < 4; i++ )
185 {
186 for ( j = 0; j < 4; j++ ) { tmp._rs[i][j] = u.get_spinor( i ) * v.get( j ); }
187 }
188
189 return tmp;
190}

◆ dirProd [2/2]

EvtRaritaSchwinger dirProd ( EvtVector4R v,
EvtDiracSpinor u )
friend

Definition at line 164 of file EvtRaritaSchwinger.cc.

164 {
165
166 int i, j;
167
169
170 for ( i = 0; i < 4; i++ )
171 {
172 for ( j = 0; j < 4; j++ ) { tmp._rs[i][j] = u.get_spinor( i ) * v.get( j ); }
173 }
174
175 return tmp;
176}

◆ operator*

EvtComplex operator* ( const EvtRaritaSchwinger & u1,
const EvtRaritaSchwinger & u2 )
friend

Definition at line 192 of file EvtRaritaSchwinger.cc.

192 {
193
194 int i, j;
195 EvtComplex tmp = 0.0;
196
197 for ( i = 0; i < 4; i++ )
198 {
199 for ( j = 0; j < 4; j++ ) { tmp += conj( u1._rs[i][j] ) * u2._rs[i][j]; }
200 }
201
202 return tmp;
203}
EvtRaritaSchwinger conj() const

◆ operator+

EvtRaritaSchwinger operator+ ( const EvtRaritaSchwinger & u1,
const EvtRaritaSchwinger & u2 )
friend

Definition at line 217 of file EvtRaritaSchwinger.cc.

217 {
218
219 return EvtRaritaSchwinger( u1 ) += u2;
220}

◆ operator-

EvtRaritaSchwinger operator- ( const EvtRaritaSchwinger & u1,
const EvtRaritaSchwinger & u2 )
friend

Definition at line 234 of file EvtRaritaSchwinger.cc.

234 {
235
236 return EvtRaritaSchwinger( u1 ) -= u2;
237}

◆ operator<<

std::ostream & operator<< ( std::ostream & s,
const EvtRaritaSchwinger & rs )
friend

◆ rotateEuler

EvtRaritaSchwinger rotateEuler ( const EvtRaritaSchwinger & rs,
double alpha,
double beta,
double gamma )
friend

Definition at line 28 of file EvtRaritaSchwinger.cc.

29 {
30
31 EvtRaritaSchwinger tmp( rs );
32 tmp.applyRotateEuler( alpha, beta, gamma );
33 return tmp;
34}

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