BOSS 7.1.1
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 47 of file EvtRaritaSchwinger.hh.

Constructor & Destructor Documentation

◆ EvtRaritaSchwinger() [1/2]

EvtRaritaSchwinger::EvtRaritaSchwinger ( )
inline

Definition at line 103 of file EvtRaritaSchwinger.hh.

103 {
104
105 int i,j;
106 for(i=0;i<4;i++){
107 for(j=0;j<4;j++){
108 _rs[i][j]=0.0;
109 }
110 }
111
112}

◆ ~EvtRaritaSchwinger()

EvtRaritaSchwinger::~EvtRaritaSchwinger ( )
virtual

Definition at line 27 of file EvtRaritaSchwinger.cc.

27 {
28}

◆ EvtRaritaSchwinger() [2/2]

EvtRaritaSchwinger::EvtRaritaSchwinger ( const EvtRaritaSchwinger & rs)
inline

Definition at line 114 of file EvtRaritaSchwinger.hh.

114 {
115
116 int i,j;
117 for(i=0;i<4;i++){
118 for(j=0;j<4;j++){
119 _rs[i][j]=rs._rs[i][j];
120 }
121 }
122
123}

Member Function Documentation

◆ applyBoostTo() [1/2]

void EvtRaritaSchwinger::applyBoostTo ( const EvtVector3R boost)

Definition at line 108 of file EvtRaritaSchwinger.cc.

108 {
109
110 //inefficient but simple to code...
115 v0.applyBoostTo(boost);
116 v1.applyBoostTo(boost);
117 v2.applyBoostTo(boost);
118 v3.applyBoostTo(boost);
119 setVector(0,v0);
120 setVector(1,v1);
121 setVector(2,v2);
122 setVector(3,v3);
127 sp0.applyBoostTo(boost);
128 sp1.applyBoostTo(boost);
129 sp2.applyBoostTo(boost);
130 sp3.applyBoostTo(boost);
131 setSpinor(0,sp0);
132 setSpinor(1,sp1);
133 setSpinor(2,sp2);
134 setSpinor(3,sp3);
135
136
137}
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 95 of file EvtRaritaSchwinger.cc.

95 {
96
97 double e=p4.get(0);
98
99 EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
100
101 applyBoostTo(boost);
102
103 return;
104
105}
void applyBoostTo(const EvtVector4R p4)
double double double * p4
Definition qcdloop1.h:77

Referenced by applyBoostTo().

◆ applyRotateEuler()

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

Definition at line 63 of file EvtRaritaSchwinger.cc.

64 {
65
66 //inefficient but simple to code...
71 v0.applyRotateEuler(alpha,beta,gamma);
72 v1.applyRotateEuler(alpha,beta,gamma);
73 v2.applyRotateEuler(alpha,beta,gamma);
74 v3.applyRotateEuler(alpha,beta,gamma);
75 setVector(0,v0);
76 setVector(1,v1);
77 setVector(2,v2);
78 setVector(3,v3);
83 sp0.applyRotateEuler(alpha,beta,gamma);
84 sp1.applyRotateEuler(alpha,beta,gamma);
85 sp2.applyRotateEuler(alpha,beta,gamma);
86 sp3.applyRotateEuler(alpha,beta,gamma);
87 setSpinor(0,sp0);
88 setSpinor(1,sp1);
89 setSpinor(2,sp2);
90 setSpinor(3,sp3);
91
92}
const double alpha
void applyRotateEuler(double alpha, double beta, double gamma)
void applyRotateEuler(double alpha, double beta, double gamma)

Referenced by EvtRaritaSchwingerParticle::rotateToHelicityBasis().

◆ conj()

EvtRaritaSchwinger EvtRaritaSchwinger::conj ( ) const

◆ get()

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

Definition at line 61 of file EvtRaritaSchwinger.cc.

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

◆ getSpinor()

EvtDiracSpinor EvtRaritaSchwinger::getSpinor ( int i) const

Definition at line 163 of file EvtRaritaSchwinger.cc.

163 {
164
165 EvtDiracSpinor tmp;
166 tmp.set(_rs[0][i],_rs[1][i],_rs[2][i],_rs[3][i]);
167 return tmp;
168
169}
void set(const EvtComplex &sp0, const EvtComplex &sp1, const EvtComplex &sp2, const EvtComplex &sp3)

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

◆ getVector()

EvtVector4C EvtRaritaSchwinger::getVector ( int i) const

Definition at line 156 of file EvtRaritaSchwinger.cc.

156 {
157
158 EvtVector4C tmp(_rs[i][0],_rs[i][1],_rs[i][2],_rs[i][3]);
159 return tmp;
160
161}

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

◆ operator+=()

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

Definition at line 242 of file EvtRaritaSchwinger.cc.

242 {
243
244 int i,j;
245
246 for(i=0;i<4;i++){
247 for(j=0;j<4;j++){
248 _rs[i][j]+=u2._rs[i][j];
249 }
250 }
251
252 return *this;
253}

◆ operator-=()

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

Definition at line 262 of file EvtRaritaSchwinger.cc.

262 {
263
264 int i,j;
265
266 for(i=0;i<4;i++){
267 for(j=0;j<4;j++){
268 _rs[i][j]+=u2._rs[i][j];
269 }
270 }
271
272 return *this;
273}

◆ operator=()

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

Definition at line 125 of file EvtRaritaSchwinger.hh.

125 {
126
127 int i,j;
128 for(i=0;i<4;i++){
129 for(j=0;j<4;j++){
130 _rs[i][j]=rs._rs[i][j];
131 }
132 }
133
134 return *this;
135
136}

◆ set()

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

Definition at line 59 of file EvtRaritaSchwinger.cc.

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

◆ setSpinor()

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

Definition at line 180 of file EvtRaritaSchwinger.cc.

180 {
181
182 _rs[0][i]=sp.get_spinor(0);
183 _rs[1][i]=sp.get_spinor(1);
184 _rs[2][i]=sp.get_spinor(2);
185 _rs[3][i]=sp.get_spinor(3);
186
187}
const EvtComplex & get_spinor(int i) const

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

◆ setVector()

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

Definition at line 171 of file EvtRaritaSchwinger.cc.

171 {
172
173 _rs[i][0]=v.get(0);
174 _rs[i][1]=v.get(1);
175 _rs[i][2]=v.get(2);
176 _rs[i][3]=v.get(3);
177
178}
**********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(), and operator*().

Friends And Related Symbol Documentation

◆ boostTo [1/2]

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

Definition at line 49 of file EvtRaritaSchwinger.cc.

50 {
51
52 EvtRaritaSchwinger tmp(rs);
53 tmp.applyBoostTo(boost);
54 return tmp;
55
56}

◆ boostTo [2/2]

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

Definition at line 40 of file EvtRaritaSchwinger.cc.

41 {
42
43 EvtRaritaSchwinger tmp(rs);
44 tmp.applyBoostTo(p4);
45 return tmp;
46
47}

◆ conj

EvtRaritaSchwinger conj ( const EvtRaritaSchwinger & u2)
friend

◆ dirProd [1/2]

EvtRaritaSchwinger dirProd ( EvtVector4C v,
EvtDiracSpinor u )
friend

Definition at line 207 of file EvtRaritaSchwinger.cc.

207 {
208
209 int i,j;
210
212
213 for(i=0;i<4;i++){
214 for(j=0;j<4;j++){
215 tmp._rs[i][j]=u.get_spinor(i)*v.get(j);
216 }
217 }
218
219 return tmp;
220
221}

◆ dirProd [2/2]

EvtRaritaSchwinger dirProd ( EvtVector4R v,
EvtDiracSpinor u )
friend

Definition at line 190 of file EvtRaritaSchwinger.cc.

190 {
191
192 int i,j;
193
195
196 for(i=0;i<4;i++){
197 for(j=0;j<4;j++){
198 tmp._rs[i][j]=u.get_spinor(i)*v.get(j);
199 }
200 }
201
202 return tmp;
203
204}

◆ operator*

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

Definition at line 224 of file EvtRaritaSchwinger.cc.

225 {
226
227 int i,j;
228 EvtComplex tmp=0.0;
229
230 for(i=0;i<4;i++){
231 for(j=0;j<4;j++){
232 tmp+=conj(u1._rs[i][j])*u2._rs[i][j];
233 }
234 }
235
236 return tmp;
237
238}
friend EvtRaritaSchwinger conj(const EvtRaritaSchwinger &u2)

◆ operator+

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

Definition at line 255 of file EvtRaritaSchwinger.cc.

256 {
257
258 return EvtRaritaSchwinger(u1)+=u2;
259
260}

◆ operator-

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

Definition at line 275 of file EvtRaritaSchwinger.cc.

276 {
277
278 return EvtRaritaSchwinger(u1)-=u2;
279
280}

◆ 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 31 of file EvtRaritaSchwinger.cc.

32 {
33
34 EvtRaritaSchwinger tmp(rs);
35 tmp.applyRotateEuler(alpha,beta,gamma);
36 return tmp;
37
38}

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