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

#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"

Go to the source code of this file.

Functions

EvtTensor3C directProd (const EvtVector3C &c1, const EvtVector3C &c2)
EvtTensor3C directProd (const EvtVector3C &c1, const EvtVector3R &c2)
EvtTensor3C directProd (const EvtVector3R &c1, const EvtVector3R &c2)
EvtTensor3C conj (const EvtTensor3C &t2)
EvtTensor3C cont22 (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C cont11 (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C eps (const EvtVector3R &v)
ostreamoperator<< (ostream &s, const EvtTensor3C &v)
EvtTensor3C rotateEuler (const EvtTensor3C &v, double alpha, double beta, double gamma)


Function Documentation

EvtTensor3C conj ( const EvtTensor3C t2  ) 

Definition at line 204 of file EvtTensor3C.cc.

00204                                         { 
00205   EvtTensor3C temp;
00206   
00207   int i,j;
00208 
00209   for(i=0;i<3;i++){ 
00210     for(j=0;j<3;j++){ 
00211       temp.set(i,j,::conj((t2.get(i,j))));
00212     }
00213   }
00214   
00215   return temp;
00216 }

EvtTensor3C cont11 ( const EvtTensor3C t1,
const EvtTensor3C t2 
)

Definition at line 236 of file EvtTensor3C.cc.

00236                                                                { 
00237   EvtTensor3C temp;
00238   
00239   int i,j;
00240   EvtComplex c;
00241   
00242   for(i=0;i<3;i++){ 
00243     for(j=0;j<3;j++){ 
00244         c=t1.get(0,i)*t2.get(0,j)+t1.get(1,i)*t2.get(1,j)
00245           +t1.get(2,i)*t2.get(2,j);
00246         temp.set(i,j,c);
00247     }
00248   }
00249   
00250   return temp;
00251 }

EvtTensor3C cont22 ( const EvtTensor3C t1,
const EvtTensor3C t2 
)

Definition at line 219 of file EvtTensor3C.cc.

00219                                                                { 
00220   EvtTensor3C temp;
00221 
00222   int i,j;
00223   EvtComplex c;
00224   
00225   for(i=0;i<3;i++){ 
00226     for(j=0;j<3;j++){ 
00227       c=t1.get(i,0)*t2.get(j,0)+t1.get(i,1)*t2.get(j,1)
00228         +t1.get(i,2)*t2.get(j,2);
00229       temp.set(i,j,c);
00230     }
00231   }
00232   
00233   return temp;
00234 }

EvtTensor3C directProd ( const EvtVector3R c1,
const EvtVector3R c2 
)

Definition at line 191 of file EvtTensor3C.cc.

00191                                                                    { 
00192   EvtTensor3C temp;
00193   int i,j;
00194   
00195   for (i=0;i<3;i++) {
00196     for (j=0;j<3;j++) {
00197       temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0);
00198     }
00199   }
00200   return temp;
00201 }

EvtTensor3C directProd ( const EvtVector3C c1,
const EvtVector3R c2 
)

Definition at line 178 of file EvtTensor3C.cc.

00178                                                                    { 
00179   EvtTensor3C temp;
00180   int i,j;
00181   
00182   for (i=0;i<3;i++) {
00183     for (j=0;j<3;j++) {
00184       temp.set(i,j,c1.get(i)*c2.get(j));
00185     }
00186   }
00187   return temp;
00188 }

EvtTensor3C directProd ( const EvtVector3C c1,
const EvtVector3C c2 
)

Definition at line 165 of file EvtTensor3C.cc.

00165                                                                    { 
00166   EvtTensor3C temp;
00167   int i,j;
00168   
00169   for (i=0;i<3;i++) {
00170     for (j=0;j<3;j++) {
00171       temp.set(i,j,c1.get(i)*c2.get(j));
00172     }
00173   }
00174   return temp;
00175 }

EvtTensor3C eps ( const EvtVector3R v  ) 

Definition at line 307 of file EvtTensor3C.cc.

References subSeperate::temp, and v.

Referenced by EvtbTosllVectorAmp::CalcAmp(), EvtConExc::gamHXSection(), EvtConExc::gamHXSection_er(), TCurlFinder::nAxialHits(), Millepede::SpmInv(), and EvtSVVHelAmp::SVVHel().

00307                                      {
00308 
00309   EvtTensor3C temp;
00310 
00311   temp.t[0][0]=0.0;
00312   temp.t[1][1]=0.0;
00313   temp.t[2][2]=0.0;
00314 
00315   temp.t[0][1]=v.get(2);
00316   temp.t[0][2]=-v.get(1);
00317 
00318   temp.t[1][0]=-v.get(2);
00319   temp.t[1][2]=v.get(0);
00320 
00321   temp.t[2][0]=v.get(1);
00322   temp.t[2][1]=-v.get(0);
00323 
00324   return temp;
00325 
00326 }

ostream& operator<< ( ostream s,
const EvtTensor3C v 
)

Definition at line 338 of file EvtTensor3C.cc.

References v.

00338                                                     {
00339 
00340   s<<endl<<"("<<v.t[0][0]<<","<<v.t[0][1]<<","<<v.t[0][2]<<")";
00341   s<<endl<<"("<<v.t[1][0]<<","<<v.t[1][1]<<","<<v.t[1][2]<<")";
00342   s<<endl<<"("<<v.t[2][0]<<","<<v.t[2][1]<<","<<v.t[2][2]<<")"<<endl;
00343   
00344   return s;
00345 }

EvtTensor3C rotateEuler ( const EvtTensor3C v,
double  alpha,
double  beta,
double  gamma 
)

Definition at line 348 of file EvtTensor3C.cc.

00349                                                               {
00350 
00351   EvtTensor3C tmp(v);
00352   tmp.applyRotateEuler(alpha,beta,gamma);
00353   return tmp;
00354 
00355 }


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