42 v[0]=e0; v[1]=
e1; v[2]=
e2; v[3]=e3;
47 double alpha,
double beta,
double gamma){
87 double bx,by,bz,gamma,b2;
106 gamma=1.0/sqrt(1-b2);
109 double gb2=(gamma-1.0)/b2;
111 double gb2xy=gb2*bx*by;
112 double gb2xz=gb2*bx*bz;
113 double gb2yz=gb2*by*bz;
124 v[0]=gamma*
e2+gbx*px2+gby*py2+gbz*pz2;
126 v[1]=gbx*
e2+gb2*bxx*px2+px2+gb2xy*py2+gb2xz*pz2;
128 v[2]=gby*
e2+gb2*byy*py2+py2+gb2xy*px2+gb2yz*pz2;
130 v[3]=gbz*
e2+gb2*bzz*pz2+pz2+gb2yz*py2+gb2xz*px2;
139 double st=
sin(theta);
142 double ct=
cos(theta);
145 EvtComplex x=( ck*ct*cp-sk*sp)*v[1]+( -sk*ct*cp-ck*sp)*v[2]+st*cp*v[3];
146 EvtComplex y=( ck*ct*sp+sk*cp)*
v[1]+(-sk*ct*sp+ck*cp)*
v[2]+st*sp*
v[3];
158 s<<
"("<<
v.v[0]<<
","<<
v.v[1]<<
","<<
v.v[2]<<
","<<
v.v[3]<<
")";
double sin(const BesAngle a)
double cos(const BesAngle a)
ostream & operator<<(ostream &s, const EvtVector4C &v)
EvtVector4C rotateEuler(const EvtVector4C &rs, double alpha, double beta, double gamma)
EvtVector4C boostTo(const EvtVector4C &rs, const EvtVector4R p4)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
void applyRotateEuler(double alpha, double beta, double gamma)
const EvtComplex & get(int) const
void applyBoostTo(const EvtVector4R &p4)
double double double * p4