#include <EvtTensor4C.hh>
|
00076 {;}
|
|
00078 { setdiag(t00,t11,t22,t33);}
|
|
00033 { 00034 00035 int i,j; 00036 00037 for(i=0;i<4;i++) { 00038 for(j=0;j<4;j++) { 00039 t[i][j] = t1.t[i][j]; 00040 } 00041 } 00042 00043 }
|
|
00045 { }
|
|
00366 { 00367 00368 int i,j; 00369 00370 for (i=0;i<4;i++) { 00371 for (j=0;j<4;j++) { 00372 t[i][j]+=p1.get(i)*p2.get(j); 00373 } 00374 } 00375 return *this; 00376 }
|
|
00120 { 00121 00122 double bx,by,bz,gamma,b2; 00123 double lambda[4][4]; 00124 EvtComplex tt[4][4]; 00125 00126 bx=boost.get(0); 00127 by=boost.get(1); 00128 bz=boost.get(2); 00129 00130 double bxx=bx*bx; 00131 double byy=by*by; 00132 double bzz=bz*bz; 00133 00134 b2=bxx+byy+bzz; 00135 00136 00137 if (b2==0.0){ 00138 return; 00139 } 00140 00141 assert(b2<1.0); 00142 00143 gamma=1.0/sqrt(1-b2); 00144 00145 00146 int i,j,k; 00147 00148 00149 if (b2==0.0){ 00150 return ; 00151 } 00152 00153 lambda[0][0]=gamma; 00154 lambda[0][1]=gamma*bx; 00155 lambda[1][0]=gamma*bx; 00156 lambda[0][2]=gamma*by; 00157 lambda[2][0]=gamma*by; 00158 lambda[0][3]=gamma*bz; 00159 lambda[3][0]=gamma*bz; 00160 00161 lambda[1][1]=1.0+(gamma-1.0)*bx*bx/b2; 00162 lambda[2][2]=1.0+(gamma-1.0)*by*by/b2; 00163 lambda[3][3]=1.0+(gamma-1.0)*bz*bz/b2; 00164 00165 lambda[1][2]=(gamma-1.0)*bx*by/b2; 00166 lambda[2][1]=(gamma-1.0)*bx*by/b2; 00167 00168 lambda[1][3]=(gamma-1.0)*bx*bz/b2; 00169 lambda[3][1]=(gamma-1.0)*bx*bz/b2; 00170 00171 lambda[3][2]=(gamma-1.0)*bz*by/b2; 00172 lambda[2][3]=(gamma-1.0)*bz*by/b2; 00173 00174 for(i=0;i<4;i++){ 00175 for(j=0;j<4;j++){ 00176 tt[i][j] = EvtComplex(0.0); 00177 for(k=0;k<4;k++){ 00178 tt[i][j]=tt[i][j]+lambda[j][k]*t[i][k]; 00179 } 00180 } 00181 } 00182 00183 for(i=0;i<4;i++){ 00184 for(j=0;j<4;j++){ 00185 t[i][j] = EvtComplex(0.0); 00186 for(k=0;k<4;k++){ 00187 t[i][j]=t[i][j]+lambda[i][k]*tt[k][j]; 00188 } 00189 } 00190 } 00191 00192 }
|
|
00107 { 00108 00109 double e=p4.get(0); 00110 00111 EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e); 00112 00113 applyBoostTo(boost); 00114 00115 return; 00116 00117 }
|
|
00517 { 00518 00519 EvtComplex tt[4][4]; 00520 double sp,st,sk,cp,ct,ck; 00521 double lambda[4][4]; 00522 00523 sp=sin(phi); 00524 st=sin(theta); 00525 sk=sin(ksi); 00526 cp=cos(phi); 00527 ct=cos(theta); 00528 ck=cos(ksi); 00529 00530 00531 lambda[0][0]=1.0; 00532 lambda[0][1]=0.0; 00533 lambda[1][0]=0.0; 00534 lambda[0][2]=0.0; 00535 lambda[2][0]=0.0; 00536 lambda[0][3]=0.0; 00537 lambda[3][0]=0.0; 00538 00539 lambda[1][1]= ck*ct*cp-sk*sp; 00540 lambda[1][2]=-sk*ct*cp-ck*sp; 00541 lambda[1][3]=st*cp; 00542 00543 lambda[2][1]= ck*ct*sp+sk*cp; 00544 lambda[2][2]=-sk*ct*sp+ck*cp; 00545 lambda[2][3]=st*sp; 00546 00547 lambda[3][1]=-ck*st; 00548 lambda[3][2]=sk*st; 00549 lambda[3][3]=ct; 00550 00551 00552 int i,j,k; 00553 00554 00555 for(i=0;i<4;i++){ 00556 for(j=0;j<4;j++){ 00557 tt[i][j] = EvtComplex(0.0); 00558 for(k=0;k<4;k++){ 00559 tt[i][j]+=lambda[j][k]*t[i][k]; 00560 } 00561 } 00562 } 00563 00564 for(i=0;i<4;i++){ 00565 for(j=0;j<4;j++){ 00566 t[i][j] = EvtComplex(0.0); 00567 for(k=0;k<4;k++){ 00568 t[i][j]+=lambda[i][k]*tt[k][j]; 00569 } 00570 } 00571 } 00572 00573 }
|
|
00066 { 00067 EvtTensor4C temp; 00068 00069 int i,j; 00070 00071 for(i=0;i<4;i++) { 00072 for(j=0;j<4;j++) { 00073 temp.set(j,i,::conj(t[i][j])); 00074 } 00075 } 00076 return temp; 00077 }
|
|
00488 { 00489 EvtVector4C temp; 00490 00491 int i; 00492 00493 for(i=0;i<4;i++){ 00494 temp.set(i,t[0][i]*v4.get(0)-t[1][i]*v4.get(1) 00495 -t[2][i]*v4.get(2)-t[3][i]*v4.get(3)); 00496 } 00497 00498 return temp; 00499 }
|
|
00461 { 00462 EvtVector4C temp; 00463 00464 int i; 00465 00466 for(i=0;i<4;i++){ 00467 temp.set(i,t[0][i]*v4.get(0)-t[1][i]*v4.get(1) 00468 -t[2][i]*v4.get(2)-t[3][i]*v4.get(3)); 00469 } 00470 00471 return temp; 00472 }
|
|
00502 { 00503 EvtVector4C temp; 00504 00505 int i; 00506 00507 for(i=0;i<4;i++){ 00508 temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1) 00509 -t[i][2]*v4.get(2)-t[i][3]*v4.get(3)); 00510 } 00511 00512 return temp; 00513 }
|
|
00474 { 00475 EvtVector4C temp; 00476 00477 int i; 00478 00479 for(i=0;i<4;i++){ 00480 temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1) 00481 -t[i][2]*v4.get(2)-t[i][3]*v4.get(3)); 00482 } 00483 00484 return temp; 00485 }
|
|
00047 { 00048 00049 static EvtTensor4C g_metric(1.0,-1.0,-1.0,-1.0); 00050 00051 return g_metric; 00052 00053 }
|
|
00126 { 00127 return t[i][j]; 00128 }
|
|
00288 { 00289 int i,j; 00290 00291 for (i=0;i<4;i++) { 00292 for (j=0;j<4;j++) { 00293 t[i][j]*=EvtComplex(d,0.0); 00294 } 00295 } 00296 return *this; 00297 }
|
|
00263 { 00264 int i,j; 00265 00266 for (i=0;i<4;i++) { 00267 for (j=0;j<4;j++) { 00268 t[i][j]*=c; 00269 } 00270 } 00271 return *this; 00272 }
|
|
00238 { 00239 00240 int i,j; 00241 00242 for (i=0;i<4;i++) { 00243 for (j=0;j<4;j++) { 00244 t[i][j]+=t2.get(i,j); 00245 } 00246 } 00247 return *this; 00248 }
|
|
00250 { 00251 00252 int i,j; 00253 00254 for (i=0;i<4;i++) { 00255 for (j=0;j<4;j++) { 00256 t[i][j]-=t2.get(i,j); 00257 } 00258 } 00259 return *this; 00260 }
|
|
00055 { 00056 int i,j; 00057 00058 for(i=0;i<4;i++) { 00059 for(j=0;j<4;j++) { 00060 t[i][j] = t1.t[i][j]; 00061 } 00062 } 00063 return *this; 00064 }
|
|
00122 { 00123 t[i][j]=c; 00124 }
|
|
00218 { 00219 t[0][0]=EvtComplex(g00); 00220 t[1][1]=EvtComplex(g11); 00221 t[2][2]=EvtComplex(g22); 00222 t[3][3]=EvtComplex(g33); 00223 t[0][1] = EvtComplex(0.0); 00224 t[0][2] = EvtComplex(0.0); 00225 t[0][3] = EvtComplex(0.0); 00226 t[1][0] = EvtComplex(0.0); 00227 t[1][2] = EvtComplex(0.0); 00228 t[1][3] = EvtComplex(0.0); 00229 t[2][0] = EvtComplex(0.0); 00230 t[2][1] = EvtComplex(0.0); 00231 t[2][3] = EvtComplex(0.0); 00232 t[3][0] = EvtComplex(0.0); 00233 t[3][1] = EvtComplex(0.0); 00234 t[3][2] = EvtComplex(0.0); 00235 }
|
|
|
|
00194 { 00195 int i,j; 00196 for(i=0;i<4;i++){ 00197 for(j=0;j<4;j++){ 00198 t[i][j]=EvtComplex(0.0,0.0); 00199 } 00200 } 00201 }
|
|
00099 { 00100 00101 EvtTensor4C tmp(rs); 00102 tmp.applyBoostTo(boost); 00103 return tmp; 00104 00105 }
|
|
00090 { 00091 00092 EvtTensor4C tmp(rs); 00093 tmp.applyBoostTo(p4); 00094 return tmp; 00095 00096 }
|
|
00411 { 00412 EvtTensor4C temp; 00413 00414 int i,j; 00415 00416 for(i=0;i<4;i++){ 00417 for(j=0;j<4;j++){ 00418 temp.set(i,j,::conj((t2.get(i,j)))); 00419 } 00420 } 00421 00422 return temp; 00423 }
|
|
00312 { 00313 00314 EvtComplex sum(0.0,0.0); 00315 int i,j; 00316 00317 for (i=0;i<4;i++) { 00318 for (j=0;j<4;j++) { 00319 sum+=t1.t[i][j]*t2.t[i][j]; 00320 } 00321 } 00322 00323 return sum; 00324 }
|
|
00443 { 00444 EvtTensor4C temp; 00445 00446 int i,j; 00447 EvtComplex c; 00448 00449 for(i=0;i<4;i++){ 00450 for(j=0;j<4;j++){ 00451 c=t1.get(0,i)*t2.get(0,j)-t1.get(1,i)*t2.get(1,j) 00452 -t1.get(2,i)*t2.get(2,j)-t1.get(3,i)*t2.get(3,j); 00453 temp.set(i,j,c); 00454 } 00455 } 00456 00457 return temp; 00458 }
|
|
00426 { 00427 EvtTensor4C temp; 00428 00429 int i,j; 00430 EvtComplex c; 00431 00432 for(i=0;i<4;i++){ 00433 for(j=0;j<4;j++){ 00434 c=t1.get(i,0)*t2.get(j,0)-t1.get(i,1)*t2.get(j,1) 00435 -t1.get(i,2)*t2.get(j,2)-t1.get(i,3)*t2.get(j,3); 00436 temp.set(i,j,c); 00437 } 00438 } 00439 00440 return temp; 00441 }
|
|
00353 { 00354 00355 EvtTensor4C temp; 00356 int i,j; 00357 00358 for (i=0;i<4;i++) { 00359 for (j=0;j<4;j++) { 00360 temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0); 00361 } 00362 } 00363 return temp; 00364 }
|
|
00340 { 00341 EvtTensor4C temp; 00342 int i,j; 00343 00344 for (i=0;i<4;i++) { 00345 for (j=0;j<4;j++) { 00346 temp.set(i,j,c1.get(i)*c2.get(j)); 00347 } 00348 } 00349 return temp; 00350 }
|
|
00327 { 00328 EvtTensor4C temp; 00329 int i,j; 00330 00331 for (i=0;i<4;i++) { 00332 for (j=0;j<4;j++) { 00333 temp.set(i,j,c1.get(i)*c2.get(j)); 00334 } 00335 } 00336 return temp; 00337 }
|
|
00379 { 00380 00381 EvtTensor4C temp; 00382 00383 temp.set(0,0,EvtComplex(0.0,0.0)); 00384 temp.set(1,1,EvtComplex(0.0,0.0)); 00385 temp.set(2,2,EvtComplex(0.0,0.0)); 00386 temp.set(3,3,EvtComplex(0.0,0.0)); 00387 00388 temp.set(0,1,t2.get(3,2)-t2.get(2,3)); 00389 temp.set(0,2,-t2.get(3,1)+t2.get(1,3)); 00390 temp.set(0,3,t2.get(2,1)-t2.get(1,2)); 00391 00392 temp.set(1,2,-t2.get(3,0)+t2.get(0,3)); 00393 temp.set(1,3,t2.get(2,0)-t2.get(0,2)); 00394 00395 temp.set(2,3,-t2.get(1,0)+t2.get(0,1)); 00396 00397 temp.set(1,0,-temp.get(0,1)); 00398 temp.set(2,0,-temp.get(0,2)); 00399 temp.set(3,0,-temp.get(0,3)); 00400 00401 temp.set(2,1,-temp.get(1,2)); 00402 temp.set(3,1,-temp.get(1,3)); 00403 00404 temp.set(3,2,-temp.get(2,3)); 00405 00406 return temp; 00407 00408 }
|
|
00306 { 00307 00308 return EvtTensor4C(t1)*=EvtComplex(d,0.0); 00309 00310 }
|
|
00300 { 00301 00302 return EvtTensor4C(t1)*=EvtComplex(d,0.0); 00303 00304 }
|
|
00281 { 00282 00283 return EvtTensor4C(t1)*=c; 00284 00285 }
|
|
00275 { 00276 00277 return EvtTensor4C(t1)*=c; 00278 00279 }
|
|
|
|
|
|
|
|
00081 { 00082 00083 EvtTensor4C tmp(rs); 00084 tmp.applyRotateEuler(alpha,beta,gamma); 00085 return tmp; 00086 00087 }
|
|
|