BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtTensor4C Class Reference

#include <EvtTensor4C.hh>

Public Member Functions

 EvtTensor4C ()
 
 EvtTensor4C (double t00, double t11, double t22, double t33)
 
 EvtTensor4C (const EvtTensor4C &t1)
 
virtual ~EvtTensor4C ()
 
EvtTensor4Coperator= (const EvtTensor4C &t1)
 
EvtTensor4Coperator*= (const EvtComplex &c)
 
EvtTensor4Coperator*= (double d)
 
EvtTensor4CaddDirProd (const EvtVector4R &p1, const EvtVector4R &p2)
 
void set (int i, int j, const EvtComplex &c)
 
void setdiag (double t00, double t11, double t22, double t33)
 
const EvtComplexget (int i, int j) const
 
EvtComplex trace () const
 
void zero ()
 
void applyRotateEuler (double alpha, double beta, double gamma)
 
void applyBoostTo (const EvtVector4R &p4)
 
void applyBoostTo (const EvtVector3R &boost)
 
EvtTensor4Coperator+= (const EvtTensor4C &t2)
 
EvtTensor4Coperator-= (const EvtTensor4C &t2)
 
EvtTensor4C conj () const
 
EvtVector4C cont1 (const EvtVector4C &v4) const
 
EvtVector4C cont2 (const EvtVector4C &v4) const
 
EvtVector4C cont1 (const EvtVector4R &v4) const
 
EvtVector4C cont2 (const EvtVector4R &v4) const
 
 EvtTensor4C ()
 
 EvtTensor4C (double t00, double t11, double t22, double t33)
 
 EvtTensor4C (const EvtTensor4C &t1)
 
virtual ~EvtTensor4C ()
 
EvtTensor4Coperator= (const EvtTensor4C &t1)
 
EvtTensor4Coperator*= (const EvtComplex &c)
 
EvtTensor4Coperator*= (double d)
 
EvtTensor4CaddDirProd (const EvtVector4R &p1, const EvtVector4R &p2)
 
void set (int i, int j, const EvtComplex &c)
 
void setdiag (double t00, double t11, double t22, double t33)
 
const EvtComplexget (int i, int j) const
 
EvtComplex trace () const
 
void zero ()
 
void applyRotateEuler (double alpha, double beta, double gamma)
 
void applyBoostTo (const EvtVector4R &p4)
 
void applyBoostTo (const EvtVector3R &boost)
 
EvtTensor4Coperator+= (const EvtTensor4C &t2)
 
EvtTensor4Coperator-= (const EvtTensor4C &t2)
 
EvtTensor4C conj () const
 
EvtVector4C cont1 (const EvtVector4C &v4) const
 
EvtVector4C cont2 (const EvtVector4C &v4) const
 
EvtVector4C cont1 (const EvtVector4R &v4) const
 
EvtVector4C cont2 (const EvtVector4R &v4) const
 

Static Public Member Functions

static const EvtTensor4Cg ()
 
static const EvtTensor4Cg ()
 

Friends

EvtTensor4C rotateEuler (const EvtTensor4C &e, double alpha, double beta, double gamma)
 
EvtTensor4C boostTo (const EvtTensor4C &e, const EvtVector4R p4)
 
EvtTensor4C boostTo (const EvtTensor4C &e, const EvtVector3R boost)
 
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)
 
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 operator+ (const EvtTensor4C &t1, const EvtTensor4C &t2)
 
EvtTensor4C operator- (const EvtTensor4C &t1, const EvtTensor4C &t2)
 
std::ostream & operator<< (std::ostream &s, const EvtTensor4C &t)
 
EvtTensor4C rotateEuler (const EvtTensor4C &e, double alpha, double beta, double gamma)
 
EvtTensor4C boostTo (const EvtTensor4C &e, const EvtVector4R p4)
 
EvtTensor4C boostTo (const EvtTensor4C &e, const EvtVector3R boost)
 
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)
 
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 operator+ (const EvtTensor4C &t1, const EvtTensor4C &t2)
 
EvtTensor4C operator- (const EvtTensor4C &t1, const EvtTensor4C &t2)
 
std::ostream & operator<< (std::ostream &s, const EvtTensor4C &t)
 

Detailed Description

Constructor & Destructor Documentation

◆ EvtTensor4C() [1/6]

EvtTensor4C::EvtTensor4C ( )
inline

◆ EvtTensor4C() [2/6]

EvtTensor4C::EvtTensor4C ( double  t00,
double  t11,
double  t22,
double  t33 
)
inline

Definition at line 78 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

78{ setdiag(t00,t11,t22,t33);}
void setdiag(double t00, double t11, double t22, double t33)

◆ EvtTensor4C() [3/6]

EvtTensor4C::EvtTensor4C ( const EvtTensor4C t1)

Definition at line 33 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

33 {
34
35 int i,j;
36
37 for(i=0;i<4;i++) {
38 for(j=0;j<4;j++) {
39 t[i][j] = t1.t[i][j];
40 }
41 }
42
43}

◆ ~EvtTensor4C() [1/2]

EvtTensor4C::~EvtTensor4C ( )
virtual

◆ EvtTensor4C() [4/6]

EvtTensor4C::EvtTensor4C ( )
inline

◆ EvtTensor4C() [5/6]

EvtTensor4C::EvtTensor4C ( double  t00,
double  t11,
double  t22,
double  t33 
)
inline

Definition at line 78 of file BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

78{ setdiag(t00,t11,t22,t33);}

◆ EvtTensor4C() [6/6]

EvtTensor4C::EvtTensor4C ( const EvtTensor4C t1)

◆ ~EvtTensor4C() [2/2]

virtual EvtTensor4C::~EvtTensor4C ( )
virtual

Member Function Documentation

◆ addDirProd() [1/2]

EvtTensor4C & EvtTensor4C::addDirProd ( const EvtVector4R p1,
const EvtVector4R p2 
)

Definition at line 366 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

366 {
367
368 int i,j;
369
370 for (i=0;i<4;i++) {
371 for (j=0;j<4;j++) {
372 t[i][j]+=p1.get(i)*p2.get(j);
373 }
374 }
375 return *this;
376}

Referenced by EvtSemiLeptonicVectorAmp::CalcAmp().

◆ addDirProd() [2/2]

EvtTensor4C & EvtTensor4C::addDirProd ( const EvtVector4R p1,
const EvtVector4R p2 
)

◆ applyBoostTo() [1/4]

void EvtTensor4C::applyBoostTo ( const EvtVector3R boost)

Definition at line 120 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

120 {
121
122 double bx,by,bz,gamma,b2;
123 double lambda[4][4];
124 EvtComplex tt[4][4];
125
126 bx=boost.get(0);
127 by=boost.get(1);
128 bz=boost.get(2);
129
130 double bxx=bx*bx;
131 double byy=by*by;
132 double bzz=bz*bz;
133
134 b2=bxx+byy+bzz;
135
136
137 if (b2==0.0){
138 return;
139 }
140
141 assert(b2<1.0);
142
143 gamma=1.0/sqrt(1-b2);
144
145
146 int i,j,k;
147
148
149 if (b2==0.0){
150 return ;
151 }
152
153 lambda[0][0]=gamma;
154 lambda[0][1]=gamma*bx;
155 lambda[1][0]=gamma*bx;
156 lambda[0][2]=gamma*by;
157 lambda[2][0]=gamma*by;
158 lambda[0][3]=gamma*bz;
159 lambda[3][0]=gamma*bz;
160
161 lambda[1][1]=1.0+(gamma-1.0)*bx*bx/b2;
162 lambda[2][2]=1.0+(gamma-1.0)*by*by/b2;
163 lambda[3][3]=1.0+(gamma-1.0)*bz*bz/b2;
164
165 lambda[1][2]=(gamma-1.0)*bx*by/b2;
166 lambda[2][1]=(gamma-1.0)*bx*by/b2;
167
168 lambda[1][3]=(gamma-1.0)*bx*bz/b2;
169 lambda[3][1]=(gamma-1.0)*bx*bz/b2;
170
171 lambda[3][2]=(gamma-1.0)*bz*by/b2;
172 lambda[2][3]=(gamma-1.0)*bz*by/b2;
173
174 for(i=0;i<4;i++){
175 for(j=0;j<4;j++){
176 tt[i][j] = EvtComplex(0.0);
177 for(k=0;k<4;k++){
178 tt[i][j]=tt[i][j]+lambda[j][k]*t[i][k];
179 }
180 }
181 }
182
183 for(i=0;i<4;i++){
184 for(j=0;j<4;j++){
185 t[i][j] = EvtComplex(0.0);
186 for(k=0;k<4;k++){
187 t[i][j]=t[i][j]+lambda[i][k]*tt[k][j];
188 }
189 }
190 }
191
192}

◆ applyBoostTo() [2/4]

void EvtTensor4C::applyBoostTo ( const EvtVector3R boost)

◆ applyBoostTo() [3/4]

void EvtTensor4C::applyBoostTo ( const EvtVector4R p4)

Definition at line 107 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

107 {
108
109 double e=p4.get(0);
110
111 EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
112
113 applyBoostTo(boost);
114
115 return;
116
117}

Referenced by applyBoostTo(), boostTo(), and EvtTensorParticle::epsTensorParent().

◆ applyBoostTo() [4/4]

void EvtTensor4C::applyBoostTo ( const EvtVector4R p4)

◆ applyRotateEuler() [1/2]

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

Definition at line 517 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

517 {
518
519 EvtComplex tt[4][4];
520 double sp,st,sk,cp,ct,ck;
521 double lambda[4][4];
522
523 sp=sin(phi);
524 st=sin(theta);
525 sk=sin(ksi);
526 cp=cos(phi);
527 ct=cos(theta);
528 ck=cos(ksi);
529
530
531 lambda[0][0]=1.0;
532 lambda[0][1]=0.0;
533 lambda[1][0]=0.0;
534 lambda[0][2]=0.0;
535 lambda[2][0]=0.0;
536 lambda[0][3]=0.0;
537 lambda[3][0]=0.0;
538
539 lambda[1][1]= ck*ct*cp-sk*sp;
540 lambda[1][2]=-sk*ct*cp-ck*sp;
541 lambda[1][3]=st*cp;
542
543 lambda[2][1]= ck*ct*sp+sk*cp;
544 lambda[2][2]=-sk*ct*sp+ck*cp;
545 lambda[2][3]=st*sp;
546
547 lambda[3][1]=-ck*st;
548 lambda[3][2]=sk*st;
549 lambda[3][3]=ct;
550
551
552 int i,j,k;
553
554
555 for(i=0;i<4;i++){
556 for(j=0;j<4;j++){
557 tt[i][j] = EvtComplex(0.0);
558 for(k=0;k<4;k++){
559 tt[i][j]+=lambda[j][k]*t[i][k];
560 }
561 }
562 }
563
564 for(i=0;i<4;i++){
565 for(j=0;j<4;j++){
566 t[i][j] = EvtComplex(0.0);
567 for(k=0;k<4;k++){
568 t[i][j]+=lambda[i][k]*tt[k][j];
569 }
570 }
571 }
572
573}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213

Referenced by rotateEuler().

◆ applyRotateEuler() [2/2]

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

◆ conj() [1/2]

EvtTensor4C EvtTensor4C::conj ( ) const

Definition at line 66 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

66 {
67 EvtTensor4C temp;
68
69 int i,j;
70
71 for(i=0;i<4;i++) {
72 for(j=0;j<4;j++) {
73 temp.set(j,i,::conj(t[i][j]));
74 }
75 }
76 return temp;
77}
void set(int i, int j, const EvtComplex &c)
friend EvtTensor4C conj(const EvtTensor4C &t2)

◆ conj() [2/2]

EvtTensor4C EvtTensor4C::conj ( ) const

◆ cont1() [1/4]

EvtVector4C EvtTensor4C::cont1 ( const EvtVector4C v4) const

◆ cont1() [2/4]

EvtVector4C EvtTensor4C::cont1 ( const EvtVector4C v4) const

◆ cont1() [3/4]

EvtVector4C EvtTensor4C::cont1 ( const EvtVector4R v4) const

Definition at line 488 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

488 {
489 EvtVector4C temp;
490
491 int i;
492
493 for(i=0;i<4;i++){
494 temp.set(i,t[0][i]*v4.get(0)-t[1][i]*v4.get(1)
495 -t[2][i]*v4.get(2)-t[3][i]*v4.get(3));
496 }
497
498 return temp;
499}

◆ cont1() [4/4]

EvtVector4C EvtTensor4C::cont1 ( const EvtVector4R v4) const

◆ cont2() [1/4]

EvtVector4C EvtTensor4C::cont2 ( const EvtVector4C v4) const

Definition at line 474 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

474 {
475 EvtVector4C temp;
476
477 int i;
478
479 for(i=0;i<4;i++){
480 temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1)
481 -t[i][2]*v4.get(2)-t[i][3]*v4.get(3));
482 }
483
484 return temp;
485}

Referenced by EvtSemiLeptonicTensorAmp::CalcAmp(), EvtBHadronic::decay(), EvtLNuGamma::decay(), EvtDecayPlaneNormalAngle(), and EvtVector4R::scalartripler3().

◆ cont2() [2/4]

EvtVector4C EvtTensor4C::cont2 ( const EvtVector4C v4) const

◆ cont2() [3/4]

EvtVector4C EvtTensor4C::cont2 ( const EvtVector4R v4) const

Definition at line 502 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

502 {
503 EvtVector4C temp;
504
505 int i;
506
507 for(i=0;i<4;i++){
508 temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1)
509 -t[i][2]*v4.get(2)-t[i][3]*v4.get(3));
510 }
511
512 return temp;
513}

◆ cont2() [4/4]

EvtVector4C EvtTensor4C::cont2 ( const EvtVector4R v4) const

◆ g() [1/2]

const EvtTensor4C & EvtTensor4C::g ( )
static

◆ g() [2/2]

static const EvtTensor4C & EvtTensor4C::g ( )
static

◆ get() [1/2]

const EvtComplex & EvtTensor4C::get ( int  i,
int  j 
) const
inline

◆ get() [2/2]

const EvtComplex & EvtTensor4C::get ( int  i,
int  j 
) const
inline

◆ operator*=() [1/4]

EvtTensor4C & EvtTensor4C::operator*= ( const EvtComplex c)

Definition at line 263 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

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

◆ operator*=() [2/4]

EvtTensor4C & EvtTensor4C::operator*= ( const EvtComplex c)

◆ operator*=() [3/4]

EvtTensor4C & EvtTensor4C::operator*= ( double  d)

Definition at line 288 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

288 {
289 int i,j;
290
291 for (i=0;i<4;i++) {
292 for (j=0;j<4;j++) {
293 t[i][j]*=EvtComplex(d,0.0);
294 }
295 }
296 return *this;
297}

◆ operator*=() [4/4]

EvtTensor4C & EvtTensor4C::operator*= ( double  d)

◆ operator+=() [1/2]

EvtTensor4C & EvtTensor4C::operator+= ( const EvtTensor4C t2)

Definition at line 238 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

238 {
239
240 int i,j;
241
242 for (i=0;i<4;i++) {
243 for (j=0;j<4;j++) {
244 t[i][j]+=t2.get(i,j);
245 }
246 }
247 return *this;
248}
const EvtComplex & get(int i, int j) const

◆ operator+=() [2/2]

EvtTensor4C & EvtTensor4C::operator+= ( const EvtTensor4C t2)

◆ operator-=() [1/2]

EvtTensor4C & EvtTensor4C::operator-= ( const EvtTensor4C t2)

Definition at line 250 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

250 {
251
252 int i,j;
253
254 for (i=0;i<4;i++) {
255 for (j=0;j<4;j++) {
256 t[i][j]-=t2.get(i,j);
257 }
258 }
259 return *this;
260}

◆ operator-=() [2/2]

EvtTensor4C & EvtTensor4C::operator-= ( const EvtTensor4C t2)

◆ operator=() [1/2]

EvtTensor4C & EvtTensor4C::operator= ( const EvtTensor4C t1)

Definition at line 55 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

55 {
56 int i,j;
57
58 for(i=0;i<4;i++) {
59 for(j=0;j<4;j++) {
60 t[i][j] = t1.t[i][j];
61 }
62 }
63 return *this;
64}

◆ operator=() [2/2]

EvtTensor4C & EvtTensor4C::operator= ( const EvtTensor4C t1)

◆ set() [1/2]

void EvtTensor4C::set ( int  i,
int  j,
const EvtComplex c 
)
inline

◆ set() [2/2]

void EvtTensor4C::set ( int  i,
int  j,
const EvtComplex c 
)
inline

◆ setdiag() [1/2]

void EvtTensor4C::setdiag ( double  t00,
double  t11,
double  t22,
double  t33 
)

Definition at line 218 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

218 {
219 t[0][0]=EvtComplex(g00);
220 t[1][1]=EvtComplex(g11);
221 t[2][2]=EvtComplex(g22);
222 t[3][3]=EvtComplex(g33);
223 t[0][1] = EvtComplex(0.0);
224 t[0][2] = EvtComplex(0.0);
225 t[0][3] = EvtComplex(0.0);
226 t[1][0] = EvtComplex(0.0);
227 t[1][2] = EvtComplex(0.0);
228 t[1][3] = EvtComplex(0.0);
229 t[2][0] = EvtComplex(0.0);
230 t[2][1] = EvtComplex(0.0);
231 t[2][3] = EvtComplex(0.0);
232 t[3][0] = EvtComplex(0.0);
233 t[3][1] = EvtComplex(0.0);
234 t[3][2] = EvtComplex(0.0);
235}

Referenced by EvtBHadronic::decay(), EvtSVPCP::decay(), EvtSVPHelAmp::decay(), EvtVVSPwave::decay(), EvtTensor4C(), and EvtTensorParticle::init().

◆ setdiag() [2/2]

void EvtTensor4C::setdiag ( double  t00,
double  t11,
double  t22,
double  t33 
)

◆ trace() [1/2]

EvtComplex EvtTensor4C::trace ( ) const
inline

Definition at line 130 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

130 {
131 return t[0][0]-t[1][1]-t[2][2]-t[3][3];
132}

◆ trace() [2/2]

EvtComplex EvtTensor4C::trace ( ) const
inline

◆ zero() [1/2]

void EvtTensor4C::zero ( )

Definition at line 194 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

194 {
195 int i,j;
196 for(i=0;i<4;i++){
197 for(j=0;j<4;j++){
198 t[i][j]=EvtComplex(0.0,0.0);
199 }
200 }
201}

Referenced by EvtLeptonTCurrent(), and EvtLeptonTg5Current().

◆ zero() [2/2]

void EvtTensor4C::zero ( )

Friends And Related Function Documentation

◆ boostTo [1/4]

EvtTensor4C boostTo ( const EvtTensor4C e,
const EvtVector3R  boost 
)
friend

Definition at line 98 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

99 {
100
101 EvtTensor4C tmp(rs);
102 tmp.applyBoostTo(boost);
103 return tmp;
104
105}

◆ boostTo [2/4]

EvtTensor4C boostTo ( const EvtTensor4C e,
const EvtVector3R  boost 
)
friend

Definition at line 98 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

99 {
100
101 EvtTensor4C tmp(rs);
102 tmp.applyBoostTo(boost);
103 return tmp;
104
105}

◆ boostTo [3/4]

EvtTensor4C boostTo ( const EvtTensor4C e,
const EvtVector4R  p4 
)
friend

Definition at line 89 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

90 {
91
92 EvtTensor4C tmp(rs);
93 tmp.applyBoostTo(p4);
94 return tmp;
95
96}

◆ boostTo [4/4]

EvtTensor4C boostTo ( const EvtTensor4C e,
const EvtVector4R  p4 
)
friend

Definition at line 89 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

90 {
91
92 EvtTensor4C tmp(rs);
93 tmp.applyBoostTo(p4);
94 return tmp;
95
96}

◆ conj [1/2]

EvtTensor4C conj ( const EvtTensor4C t2)
friend

Definition at line 411 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

411 {
412 EvtTensor4C temp;
413
414 int i,j;
415
416 for(i=0;i<4;i++){
417 for(j=0;j<4;j++){
418 temp.set(i,j,::conj((t2.get(i,j))));
419 }
420 }
421
422 return temp;
423}

Referenced by cont().

◆ conj [2/2]

EvtTensor4C conj ( const EvtTensor4C t2)
friend

Definition at line 411 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

411 {
412 EvtTensor4C temp;
413
414 int i,j;
415
416 for(i=0;i<4;i++){
417 for(j=0;j<4;j++){
418 temp.set(i,j,::conj((t2.get(i,j))));
419 }
420 }
421
422 return temp;
423}

◆ cont [1/2]

EvtComplex cont ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 312 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

312 {
313
314 EvtComplex sum(0.0,0.0);
315 int i,j;
316
317 for (i=0;i<4;i++) {
318 for (j=0;j<4;j++) {
319 sum+=t1.t[i][j]*t2.t[i][j];
320 }
321 }
322
323 return sum;
324}

◆ cont [2/2]

EvtComplex cont ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 312 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

312 {
313
314 EvtComplex sum(0.0,0.0);
315 int i,j;
316
317 for (i=0;i<4;i++) {
318 for (j=0;j<4;j++) {
319 sum+=t1.t[i][j]*t2.t[i][j];
320 }
321 }
322
323 return sum;
324}

◆ cont11 [1/2]

EvtTensor4C cont11 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 443 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

443 {
444 EvtTensor4C temp;
445
446 int i,j;
447 EvtComplex c;
448
449 for(i=0;i<4;i++){
450 for(j=0;j<4;j++){
451 c=t1.get(0,i)*t2.get(0,j)-t1.get(1,i)*t2.get(1,j)
452 -t1.get(2,i)*t2.get(2,j)-t1.get(3,i)*t2.get(3,j);
453 temp.set(i,j,c);
454 }
455 }
456
457 return temp;
458}

◆ cont11 [2/2]

EvtTensor4C cont11 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 443 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

443 {
444 EvtTensor4C temp;
445
446 int i,j;
447 EvtComplex c;
448
449 for(i=0;i<4;i++){
450 for(j=0;j<4;j++){
451 c=t1.get(0,i)*t2.get(0,j)-t1.get(1,i)*t2.get(1,j)
452 -t1.get(2,i)*t2.get(2,j)-t1.get(3,i)*t2.get(3,j);
453 temp.set(i,j,c);
454 }
455 }
456
457 return temp;
458}

◆ cont22 [1/2]

EvtTensor4C cont22 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 426 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

426 {
427 EvtTensor4C temp;
428
429 int i,j;
430 EvtComplex c;
431
432 for(i=0;i<4;i++){
433 for(j=0;j<4;j++){
434 c=t1.get(i,0)*t2.get(j,0)-t1.get(i,1)*t2.get(j,1)
435 -t1.get(i,2)*t2.get(j,2)-t1.get(i,3)*t2.get(j,3);
436 temp.set(i,j,c);
437 }
438 }
439
440 return temp;
441}

◆ cont22 [2/2]

EvtTensor4C cont22 ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 426 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

426 {
427 EvtTensor4C temp;
428
429 int i,j;
430 EvtComplex c;
431
432 for(i=0;i<4;i++){
433 for(j=0;j<4;j++){
434 c=t1.get(i,0)*t2.get(j,0)-t1.get(i,1)*t2.get(j,1)
435 -t1.get(i,2)*t2.get(j,2)-t1.get(i,3)*t2.get(j,3);
436 temp.set(i,j,c);
437 }
438 }
439
440 return temp;
441}

◆ directProd [1/6]

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4C c2 
)
friend

Definition at line 327 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

327 {
328 EvtTensor4C temp;
329 int i,j;
330
331 for (i=0;i<4;i++) {
332 for (j=0;j<4;j++) {
333 temp.set(i,j,c1.get(i)*c2.get(j));
334 }
335 }
336 return temp;
337}

◆ directProd [2/6]

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4C c2 
)
friend

Definition at line 327 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

327 {
328 EvtTensor4C temp;
329 int i,j;
330
331 for (i=0;i<4;i++) {
332 for (j=0;j<4;j++) {
333 temp.set(i,j,c1.get(i)*c2.get(j));
334 }
335 }
336 return temp;
337}

◆ directProd [3/6]

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4R c2 
)
friend

Definition at line 340 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

340 {
341 EvtTensor4C temp;
342 int i,j;
343
344 for (i=0;i<4;i++) {
345 for (j=0;j<4;j++) {
346 temp.set(i,j,c1.get(i)*c2.get(j));
347 }
348 }
349 return temp;
350}

◆ directProd [4/6]

EvtTensor4C directProd ( const EvtVector4C c1,
const EvtVector4R c2 
)
friend

Definition at line 340 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

340 {
341 EvtTensor4C temp;
342 int i,j;
343
344 for (i=0;i<4;i++) {
345 for (j=0;j<4;j++) {
346 temp.set(i,j,c1.get(i)*c2.get(j));
347 }
348 }
349 return temp;
350}

◆ directProd [5/6]

EvtTensor4C directProd ( const EvtVector4R c1,
const EvtVector4R c2 
)
friend

Definition at line 353 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

353 {
354
355 EvtTensor4C temp;
356 int i,j;
357
358 for (i=0;i<4;i++) {
359 for (j=0;j<4;j++) {
360 temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0);
361 }
362 }
363 return temp;
364}

◆ directProd [6/6]

EvtTensor4C directProd ( const EvtVector4R c1,
const EvtVector4R c2 
)
friend

Definition at line 353 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

353 {
354
355 EvtTensor4C temp;
356 int i,j;
357
358 for (i=0;i<4;i++) {
359 for (j=0;j<4;j++) {
360 temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0);
361 }
362 }
363 return temp;
364}

◆ dual [1/2]

EvtTensor4C dual ( const EvtTensor4C t2)
friend

Definition at line 379 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

379 {
380
381 EvtTensor4C temp;
382
383 temp.set(0,0,EvtComplex(0.0,0.0));
384 temp.set(1,1,EvtComplex(0.0,0.0));
385 temp.set(2,2,EvtComplex(0.0,0.0));
386 temp.set(3,3,EvtComplex(0.0,0.0));
387
388 temp.set(0,1,t2.get(3,2)-t2.get(2,3));
389 temp.set(0,2,-t2.get(3,1)+t2.get(1,3));
390 temp.set(0,3,t2.get(2,1)-t2.get(1,2));
391
392 temp.set(1,2,-t2.get(3,0)+t2.get(0,3));
393 temp.set(1,3,t2.get(2,0)-t2.get(0,2));
394
395 temp.set(2,3,-t2.get(1,0)+t2.get(0,1));
396
397 temp.set(1,0,-temp.get(0,1));
398 temp.set(2,0,-temp.get(0,2));
399 temp.set(3,0,-temp.get(0,3));
400
401 temp.set(2,1,-temp.get(1,2));
402 temp.set(3,1,-temp.get(1,3));
403
404 temp.set(3,2,-temp.get(2,3));
405
406 return temp;
407
408}

◆ dual [2/2]

EvtTensor4C dual ( const EvtTensor4C t2)
friend

Definition at line 379 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

379 {
380
381 EvtTensor4C temp;
382
383 temp.set(0,0,EvtComplex(0.0,0.0));
384 temp.set(1,1,EvtComplex(0.0,0.0));
385 temp.set(2,2,EvtComplex(0.0,0.0));
386 temp.set(3,3,EvtComplex(0.0,0.0));
387
388 temp.set(0,1,t2.get(3,2)-t2.get(2,3));
389 temp.set(0,2,-t2.get(3,1)+t2.get(1,3));
390 temp.set(0,3,t2.get(2,1)-t2.get(1,2));
391
392 temp.set(1,2,-t2.get(3,0)+t2.get(0,3));
393 temp.set(1,3,t2.get(2,0)-t2.get(0,2));
394
395 temp.set(2,3,-t2.get(1,0)+t2.get(0,1));
396
397 temp.set(1,0,-temp.get(0,1));
398 temp.set(2,0,-temp.get(0,2));
399 temp.set(3,0,-temp.get(0,3));
400
401 temp.set(2,1,-temp.get(1,2));
402 temp.set(3,1,-temp.get(1,3));
403
404 temp.set(3,2,-temp.get(2,3));
405
406 return temp;
407
408}

◆ operator* [1/8]

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

◆ operator* [2/8]

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

Definition at line 281 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

281 {
282
283 return EvtTensor4C(t1)*=c;
284
285}

◆ operator* [3/8]

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

Definition at line 275 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

275 {
276
277 return EvtTensor4C(t1)*=c;
278
279}

◆ operator* [4/8]

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

Definition at line 275 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

275 {
276
277 return EvtTensor4C(t1)*=c;
278
279}

◆ operator* [5/8]

EvtTensor4C operator* ( const EvtTensor4C t1,
double  d 
)
friend

Definition at line 300 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

300 {
301
302 return EvtTensor4C(t1)*=EvtComplex(d,0.0);
303
304}

◆ operator* [6/8]

EvtTensor4C operator* ( const EvtTensor4C t1,
double  d 
)
friend

Definition at line 300 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

300 {
301
302 return EvtTensor4C(t1)*=EvtComplex(d,0.0);
303
304}

◆ operator* [7/8]

EvtTensor4C operator* ( double  d,
const EvtTensor4C t1 
)
friend

Definition at line 306 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

306 {
307
308 return EvtTensor4C(t1)*=EvtComplex(d,0.0);
309
310}

◆ operator* [8/8]

EvtTensor4C operator* ( double  d,
const EvtTensor4C t1 
)
friend

Definition at line 306 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

306 {
307
308 return EvtTensor4C(t1)*=EvtComplex(d,0.0);
309
310}

◆ operator+ [1/2]

EvtTensor4C operator+ ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 112 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

112 {
113
114 return EvtTensor4C(t1)+=t2;
115}

◆ operator+ [2/2]

EvtTensor4C operator+ ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 112 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

112 {
113
114 return EvtTensor4C(t1)+=t2;
115}

◆ operator- [1/2]

EvtTensor4C operator- ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 117 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

117 {
118
119 return EvtTensor4C(t1)-=t2;
120}

◆ operator- [2/2]

EvtTensor4C operator- ( const EvtTensor4C t1,
const EvtTensor4C t2 
)
friend

Definition at line 117 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.hh.

117 {
118
119 return EvtTensor4C(t1)-=t2;
120}

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream &  s,
const EvtTensor4C t 
)
friend

◆ operator<< [2/2]

std::ostream & operator<< ( std::ostream &  s,
const EvtTensor4C t 
)
friend

◆ rotateEuler [1/2]

EvtTensor4C rotateEuler ( const EvtTensor4C e,
double  alpha,
double  beta,
double  gamma 
)
friend

Definition at line 80 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

81 {
82
83 EvtTensor4C tmp(rs);
84 tmp.applyRotateEuler(alpha,beta,gamma);
85 return tmp;
86
87}
const double alpha

◆ rotateEuler [2/2]

EvtTensor4C rotateEuler ( const EvtTensor4C e,
double  alpha,
double  beta,
double  gamma 
)
friend

Definition at line 80 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtTensor4C.cc.

81 {
82
83 EvtTensor4C tmp(rs);
84 tmp.applyRotateEuler(alpha,beta,gamma);
85 return tmp;
86
87}

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