/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenBase/EvtTensor4C.cc File Reference

#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"

Go to the source code of this file.

Functions

EvtTensor4C rotateEuler (const EvtTensor4C &rs, double alpha, double beta, double gamma)
EvtTensor4C boostTo (const EvtTensor4C &rs, const EvtVector4R p4)
EvtTensor4C boostTo (const EvtTensor4C &rs, const EvtVector3R boost)
ostreamoperator<< (ostream &s, const EvtTensor4C &t)
EvtTensor4C operator * (const EvtTensor4C &t1, const EvtComplex &c)
EvtTensor4C operator * (const EvtComplex &c, const EvtTensor4C &t1)
EvtTensor4C operator * (const EvtTensor4C &t1, double d)
EvtTensor4C operator * (double d, const EvtTensor4C &t1)
EvtComplex cont (const EvtTensor4C &t1, const EvtTensor4C &t2)
EvtTensor4C directProd (const EvtVector4C &c1, const EvtVector4C &c2)
EvtTensor4C directProd (const EvtVector4C &c1, const EvtVector4R &c2)
EvtTensor4C directProd (const EvtVector4R &c1, const EvtVector4R &c2)
EvtTensor4C dual (const EvtTensor4C &t2)
EvtTensor4C conj (const EvtTensor4C &t2)
EvtTensor4C cont22 (const EvtTensor4C &t1, const EvtTensor4C &t2)
EvtTensor4C cont11 (const EvtTensor4C &t1, const EvtTensor4C &t2)


Function Documentation

EvtTensor4C boostTo ( const EvtTensor4C rs,
const EvtVector3R  boost 
)

Definition at line 98 of file EvtTensor4C.cc.

00099                                             {
00100 
00101   EvtTensor4C tmp(rs);
00102   tmp.applyBoostTo(boost);
00103   return tmp;
00104 
00105 }

EvtTensor4C boostTo ( const EvtTensor4C rs,
const EvtVector4R  p4 
)

Definition at line 89 of file EvtTensor4C.cc.

00090                                          {
00091 
00092   EvtTensor4C tmp(rs);
00093   tmp.applyBoostTo(p4);
00094   return tmp;
00095 
00096 }

EvtTensor4C conj ( const EvtTensor4C t2  ) 

Definition at line 411 of file EvtTensor4C.cc.

References conj(), EvtTensor4C::get(), genRecEmupikp::i, ganga-rec::j, and subSeperate::temp.

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 }

EvtComplex cont ( const EvtTensor4C t1,
const EvtTensor4C t2 
)

Definition at line 312 of file EvtTensor4C.cc.

References genRecEmupikp::i, ganga-rec::j, and EvtTensor4C::t.

Referenced by EvtPi0Dalitz::decay(), EvtEDM::decay(), EvtSpinAmp::extcont(), main(), operator *(), EvtSpinAmp::operator *=(), EvtSpinAmp::operator+(), EvtSpinAmp::operator+=(), EvtSpinAmp::operator-(), EvtSpinAmp::operator-=(), operator/(), EvtSpinAmp::operator=(), and EvtTensorParticle::rotateToHelicityBasis().

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 }

EvtTensor4C cont11 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)

Definition at line 443 of file EvtTensor4C.cc.

References EvtTensor4C::get(), genRecEmupikp::i, ganga-rec::j, and subSeperate::temp.

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 }

EvtTensor4C cont22 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)

Definition at line 426 of file EvtTensor4C.cc.

References EvtTensor4C::get(), genRecEmupikp::i, ganga-rec::j, and subSeperate::temp.

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 }

EvtTensor4C directProd ( const EvtVector4R c1,
const EvtVector4R c2 
)

Definition at line 353 of file EvtTensor4C.cc.

References EvtVector4R::get(), genRecEmupikp::i, ganga-rec::j, and subSeperate::temp.

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 }

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4R c2 
)

Definition at line 340 of file EvtTensor4C.cc.

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 }

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4C c2 
)

Definition at line 327 of file EvtTensor4C.cc.

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 }

EvtTensor4C dual ( const EvtTensor4C t2  ) 

Definition at line 379 of file EvtTensor4C.cc.

References EvtTensor4C::get(), and subSeperate::temp.

Referenced by EvtbTosllVectorAmp::CalcAmp(), EvtSemiLeptonicVectorAmp::CalcAmp(), EvtSemiLeptonicTensorAmp::CalcAmp(), EvtVSPPwave::decay(), EvtTVSPwave::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtLNuGamma::decay(), EvtKstarnunu::decay(), EvtBHadronic::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtDecayPlaneNormalAngle(), and EvtVector4R::scalartripler3().

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 }

EvtTensor4C operator * ( double  d,
const EvtTensor4C t1 
)

Definition at line 306 of file EvtTensor4C.cc.

00306                                                       {
00307 
00308   return EvtTensor4C(t1)*=EvtComplex(d,0.0);
00309 
00310 }

EvtTensor4C operator * ( const EvtTensor4C t1,
double  d 
)

Definition at line 300 of file EvtTensor4C.cc.

00300                                                       {
00301 
00302   return EvtTensor4C(t1)*=EvtComplex(d,0.0);
00303 
00304 }

EvtTensor4C operator * ( const EvtComplex c,
const EvtTensor4C t1 
)

Definition at line 281 of file EvtTensor4C.cc.

00281                                                                 {
00282 
00283   return EvtTensor4C(t1)*=c;
00284 
00285 }

EvtTensor4C operator * ( const EvtTensor4C t1,
const EvtComplex c 
)

Definition at line 275 of file EvtTensor4C.cc.

00275                                                                 {
00276 
00277   return EvtTensor4C(t1)*=c;
00278 
00279 }

ostream& operator<< ( ostream s,
const EvtTensor4C t 
)

Definition at line 205 of file EvtTensor4C.cc.

References genRecEmupikp::i, ganga-rec::j, and t().

00205                                                     {
00206 
00207   int i,j;
00208   s<< endl;
00209   for(i=0;i<4;i++){
00210     for(j=0;j<4;j++){
00211       s << t.t[i][j];
00212     }
00213    s << endl;
00214   }
00215   return s;
00216 }

EvtTensor4C rotateEuler ( const EvtTensor4C rs,
double  alpha,
double  beta,
double  gamma 
)

Definition at line 80 of file EvtTensor4C.cc.

00081                                                               {
00082 
00083   EvtTensor4C tmp(rs);
00084   tmp.applyRotateEuler(alpha,beta,gamma);
00085   return tmp;
00086 
00087 }


Generated on Tue Nov 29 23:15:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7