#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) |
|
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 51 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 115 of file EvtDiracSpinor.hh.
115 {
116
117 spinor[0]=dspinor.spinor[0];
118 spinor[1]=dspinor.spinor[1];
119 spinor[2]=dspinor.spinor[2];
120 spinor[3]=dspinor.spinor[3];
121
122}
◆ adjoint()
Definition at line 341 of file EvtDiracSpinor.cc.
342{
346
347 for (int i=0; i<4; ++i)
348 for (int j=0; j<4; ++j)
349 result.spinor[i] += d.spinor[j] * g0.gamma[i][j];
350
351 return result;
352}
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 135 of file EvtDiracSpinor.hh.
135 {
136
137 spinor[0]+=u2.spinor[0];
138 spinor[1]+=u2.spinor[1];
139 spinor[2]+=u2.spinor[2];
140 spinor[3]+=u2.spinor[3];
141
142 return *this;
143}
◆ operator-=()
Definition at line 152 of file EvtDiracSpinor.hh.
152 {
153
154 spinor[0]-=u2.spinor[0];
155 spinor[1]-=u2.spinor[1];
156 spinor[2]-=u2.spinor[2];
157 spinor[3]-=u2.spinor[3];
158
159 return *this;
160}
◆ operator=()
Definition at line 124 of file EvtDiracSpinor.hh.
124 {
125
126 spinor[0]=dspinor.spinor[0];
127 spinor[1]=dspinor.spinor[1];
128 spinor[2]=dspinor.spinor[2];
129 spinor[3]=dspinor.spinor[3];
130
131 return *this;
132
133}
◆ 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
◆ 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 332 of file EvtDiracSpinor.cc.
332 {
334 result.spinor[0] = c*d.spinor[0];
335 result.spinor[1] = c*d.spinor[1];
336 result.spinor[2] = c*d.spinor[2];
337 result.spinor[3] = c*d.spinor[3];
338 return result;
339 }
◆ 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: