#include <EvtDiracSpinor.hh>
|
EvtDiracSpinor | rotateEuler (const EvtDiracSpinor &sp, double alpha, double beta, double gamma) |
|
EvtDiracSpinor | boostTo (const EvtDiracSpinor &sp, const EvtVector4R p4) |
|
EvtDiracSpinor | boostTo (const EvtDiracSpinor &sp, const EvtVector3R boost) |
|
EvtVector4C | EvtLeptonVACurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtVector4C | EvtLeptonVCurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtVector4C | EvtLeptonACurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtComplex | EvtLeptonSCurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtComplex | EvtLeptonPCurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtTensor4C | EvtLeptonTCurrent (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtTensor4C | EvtLeptonTg5Current (const EvtDiracSpinor &d, const EvtDiracSpinor &dp) |
|
EvtDiracSpinor | operator+ (const EvtDiracSpinor &u1, const EvtDiracSpinor &u2) |
|
EvtDiracSpinor | operator- (const EvtDiracSpinor &u1, const EvtDiracSpinor &u2) |
|
EvtDiracSpinor | operator* (const EvtComplex &c, const EvtDiracSpinor &d) |
|
std::ostream & | operator<< (std::ostream &s, const EvtDiracSpinor &c) |
|
Definition at line 52 of file EvtDiracSpinor.hh.
◆ EvtDiracSpinor() [1/3]
EvtDiracSpinor::EvtDiracSpinor |
( |
| ) |
|
|
inline |
◆ EvtDiracSpinor() [2/3]
Definition at line 35 of file EvtDiracSpinor.cc.
36 {
38}
void set(const EvtComplex &sp0, const EvtComplex &sp1, const EvtComplex &sp2, const EvtComplex &sp3)
◆ ~EvtDiracSpinor()
EvtDiracSpinor::~EvtDiracSpinor |
( |
| ) |
|
|
virtual |
◆ EvtDiracSpinor() [3/3]
Definition at line 118 of file EvtDiracSpinor.hh.
118 {
119
120 spinor[0]=dspinor.spinor[0];
121 spinor[1]=dspinor.spinor[1];
122 spinor[2]=dspinor.spinor[2];
123 spinor[3]=dspinor.spinor[3];
124
125}
◆ adjoint()
Definition at line 387 of file EvtDiracSpinor.cc.
388{
392
393 for (int i=0; i<4; ++i)
394 for (int j=0; j<4; ++j)
395 result.spinor[i] += d.spinor[j] * g0.gamma[i][j];
396
397 return result;
398}
EvtDiracSpinor conj() const
static const EvtGammaMatrix & g0()
Referenced by EvtLambdaP_BarGamma::decay().
◆ applyBoostTo() [1/2]
void EvtDiracSpinor::applyBoostTo |
( |
const EvtVector3R & |
boost | ) |
|
Definition at line 107 of file EvtDiracSpinor.cc.
107 {
108
109 double bx,by,bz,gamma,b2,
f1,f2;
111
115 b2=bx*bx+by*by+bz*bz;
116
117 if (b2==0.0){
118 return;
119 }
120
121 assert(b2<1.0);
122
123 gamma=1.0/sqrt(1-b2);
124
125 f1=sqrt((gamma+1.0)/2.0);
126 f2=
f1*gamma/(gamma+1.0);
127
128 spinorp[0]=
f1*spinor[0]+f2*bz*spinor[2]+
131 f2*bz*spinor[3];
132 spinorp[2]=f2*bz*spinor[0]+f2*
EvtComplex(bx,-by)*spinor[1]+
135 f2*bz*spinor[1]+
f1*spinor[3];
136
137 spinor[0]=spinorp[0];
138 spinor[1]=spinorp[1];
139 spinor[2]=spinorp[2];
140 spinor[3]=spinorp[3];
141
142 return;
143}
◆ applyBoostTo() [2/2]
void EvtDiracSpinor::applyBoostTo |
( |
const EvtVector4R & |
p4 | ) |
|
◆ applyRotateEuler()
void EvtDiracSpinor::applyRotateEuler |
( |
double |
alpha, |
|
|
double |
beta, |
|
|
double |
gamma |
|
) |
| |
Definition at line 145 of file EvtDiracSpinor.cc.
146 {
147
149
150 double cb2=
cos(0.5*beta);
151 double sb2=
sin(0.5*beta);
152 double capg2=
cos(0.5*(
alpha+gamma));
153 double camg2=
cos(0.5*(
alpha-gamma));
154 double sapg2=
sin(0.5*(
alpha+gamma));
155 double samg2=
sin(0.5*(
alpha-gamma));
156
161
162 retVal[0]=m11*spinor[0]+m12*spinor[1];
163 retVal[1]=m21*spinor[0]+m22*spinor[1];
164 retVal[2]=m11*spinor[2]+m12*spinor[3];
165 retVal[3]=m21*spinor[2]+m22*spinor[3];
166
167 spinor[0]=retVal[0];
168 spinor[1]=retVal[1];
169 spinor[2]=retVal[2];
170 spinor[3]=retVal[3];
171
172 return;
173}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by operator*(), and EvtDiracParticle::rotateToHelicityBasis().
◆ conj()
Definition at line 177 of file EvtDiracSpinor.cc.
177 {
178
180
181 for ( int i=0; i<4; i++)
183
184 return sp;
185}
void set_spinor(int i, const EvtComplex &sp)
Referenced by adjoint(), and conj().
◆ get_spinor()
const EvtComplex & EvtDiracSpinor::get_spinor |
( |
int |
i | ) |
const |
◆ operator+=()
Definition at line 138 of file EvtDiracSpinor.hh.
138 {
139
140 spinor[0]+=u2.spinor[0];
141 spinor[1]+=u2.spinor[1];
142 spinor[2]+=u2.spinor[2];
143 spinor[3]+=u2.spinor[3];
144
145 return *this;
146}
◆ operator-=()
Definition at line 155 of file EvtDiracSpinor.hh.
155 {
156
157 spinor[0]-=u2.spinor[0];
158 spinor[1]-=u2.spinor[1];
159 spinor[2]-=u2.spinor[2];
160 spinor[3]-=u2.spinor[3];
161
162 return *this;
163}
◆ operator=()
Definition at line 127 of file EvtDiracSpinor.hh.
127 {
128
129 spinor[0]=dspinor.spinor[0];
130 spinor[1]=dspinor.spinor[1];
131 spinor[2]=dspinor.spinor[2];
132 spinor[3]=dspinor.spinor[3];
133
134 return *this;
135
136}
◆ set()
◆ set_spinor()
void EvtDiracSpinor::set_spinor |
( |
int |
i, |
|
|
const EvtComplex & |
sp |
|
) |
| |
◆ boostTo [1/2]
Definition at line 84 of file EvtDiracSpinor.cc.
85 {
86
88 tmp.applyBoostTo(boost);
89 return tmp;
90
91}
◆ boostTo [2/2]
Definition at line 75 of file EvtDiracSpinor.cc.
76 {
77
79 tmp.applyBoostTo(p4);
80 return tmp;
81
82}
◆ EvtLeptonACurrent
Definition at line 236 of file EvtDiracSpinor.cc.
236 {
237
239
241
242
243
244
246 temp.
set(0,d*(mat*dp));
247
249 temp.
set(1,d*(mat*dp));
250
252 temp.
set(2,d*(mat*dp));
253
255 temp.
set(3,d*(mat*dp));
256
257 return temp;
258}
static const EvtGammaMatrix & va1()
static const EvtGammaMatrix & v0()
static const EvtGammaMatrix & va3()
static const EvtGammaMatrix & v2()
static const EvtGammaMatrix & va0()
static const EvtGammaMatrix & va2()
static const EvtGammaMatrix & v1()
static const EvtGammaMatrix & v3()
void set(int, const EvtComplex &)
◆ EvtLeptonPCurrent
Definition at line 272 of file EvtDiracSpinor.cc.
272 {
273
275
276
277
279 temp=d*(m*dp);
280
281 return temp;
282}
static const EvtGammaMatrix & g5()
◆ EvtLeptonSCurrent
Definition at line 260 of file EvtDiracSpinor.cc.
260 {
261
263
264
265
266
268
269 return temp;
270}
◆ EvtLeptonTCurrent
Definition at line 284 of file EvtDiracSpinor.cc.
284 {
285
289
308
309
310 temp.
set(0,1,i2*(d*(mat01*dp)));
311 temp.
set(1,0,-temp.
get(0,1));
312
313 temp.
set(0,2,i2*(d*(mat02*dp)));
314 temp.
set(2,0,-temp.
get(0,2));
315
316 temp.
set(0,3,i2*(d*(mat03*dp)));
317 temp.
set(3,0,-temp.
get(0,3));
318
319 temp.
set(1,2,i2*(d*(mat12*dp)));
320 temp.
set(2,1,-temp.
get(1,2));
321
322 temp.
set(1,3,i2*(d*(mat13*dp)));
323 temp.
set(3,1,-temp.
get(1,3));
324
325 temp.
set(2,3,i2*(d*(mat23*dp)));
326 temp.
set(3,2,-temp.
get(2,3));
327
328 return temp;
329}
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
void set(int i, int j, const EvtComplex &c)
const EvtComplex & get(int i, int j) const
◆ EvtLeptonTg5Current
Definition at line 331 of file EvtDiracSpinor.cc.
331 {
332
336
355
356
357 temp.
set(0,1,i2*(d*(mat01*dp)));
358 temp.
set(1,0,-temp.
get(0,1));
359
360 temp.
set(0,2,i2*(d*(mat02*dp)));
361 temp.
set(2,0,-temp.
get(0,2));
362
363 temp.
set(0,3,i2*(d*(mat03*dp)));
364 temp.
set(3,0,-temp.
get(0,3));
365
366 temp.
set(1,2,i2*(d*(mat12*dp)));
367 temp.
set(2,1,-temp.
get(1,2));
368
369 temp.
set(1,3,i2*(d*(mat13*dp)));
370 temp.
set(3,1,-temp.
get(1,3));
371
372 temp.
set(2,3,i2*(d*(mat23*dp)));
373 temp.
set(3,2,-temp.
get(2,3));
374
375 return temp;
376}
◆ EvtLeptonVACurrent
Definition at line 187 of file EvtDiracSpinor.cc.
187 {
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
205
208
211
214
216
217
218}
◆ EvtLeptonVCurrent
Definition at line 220 of file EvtDiracSpinor.cc.
220 {
221
223
224
225
226
231
232 return temp;
233}
◆ operator*
Definition at line 378 of file EvtDiracSpinor.cc.
378 {
380 result.spinor[0] = c*d.spinor[0];
381 result.spinor[1] = c*d.spinor[1];
382 result.spinor[2] = c*d.spinor[2];
383 result.spinor[3] = c*d.spinor[3];
384 return result;
385 }
◆ operator+
◆ operator-
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & |
s, |
|
|
const EvtDiracSpinor & |
c |
|
) |
| |
|
friend |
◆ rotateEuler
Definition at line 66 of file EvtDiracSpinor.cc.
67 {
68
70 tmp.applyRotateEuler(
alpha,beta,gamma);
71 return tmp;
72
73}
The documentation for this class was generated from the following files: