#include <EvtVector4C.hh>
Definition at line 31 of file EvtVector4C.hh.
EvtVector4C::EvtVector4C | ( | ) |
Definition at line 30 of file EvtVector4C.cc.
References v.
Referenced by conj().
00030 { 00031 00032 v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0); 00033 v[2]=EvtComplex(0.0); v[3]=EvtComplex(0.0); 00034 00035 }
EvtVector4C::EvtVector4C | ( | const EvtComplex & | , | |
const EvtComplex & | , | |||
const EvtComplex & | , | |||
const EvtComplex & | ||||
) |
EvtVector4C::~EvtVector4C | ( | ) | [virtual] |
EvtVector4C::EvtVector4C | ( | const EvtVector4R & | v1 | ) | [inline] |
Definition at line 182 of file EvtVector4C.hh.
References EvtVector4R::get(), and v.
00182 { 00183 00184 v[0]=EvtComplex(v1.get(0)); v[1]=EvtComplex(v1.get(1)); 00185 v[2]=EvtComplex(v1.get(2)); v[3]=EvtComplex(v1.get(3)); 00186 }
void EvtVector4C::applyBoostTo | ( | const EvtVector3R & | boost | ) |
Definition at line 85 of file EvtVector4C.cc.
References EvtVector3R::get(), and v.
00085 { 00086 00087 double bx,by,bz,gamma,b2; 00088 00089 bx=boost.get(0); 00090 by=boost.get(1); 00091 bz=boost.get(2); 00092 00093 double bxx=bx*bx; 00094 double byy=by*by; 00095 double bzz=bz*bz; 00096 00097 b2=bxx+byy+bzz; 00098 00099 00100 if (b2==0.0){ 00101 return; 00102 } 00103 00104 assert(b2<1.0); 00105 00106 gamma=1.0/sqrt(1-b2); 00107 00108 00109 double gb2=(gamma-1.0)/b2; 00110 00111 double gb2xy=gb2*bx*by; 00112 double gb2xz=gb2*bx*bz; 00113 double gb2yz=gb2*by*bz; 00114 00115 double gbx=gamma*bx; 00116 double gby=gamma*by; 00117 double gbz=gamma*bz; 00118 00119 EvtComplex e2=v[0]; 00120 EvtComplex px2=v[1]; 00121 EvtComplex py2=v[2]; 00122 EvtComplex pz2=v[3]; 00123 00124 v[0]=gamma*e2+gbx*px2+gby*py2+gbz*pz2; 00125 00126 v[1]=gbx*e2+gb2*bxx*px2+px2+gb2xy*py2+gb2xz*pz2; 00127 00128 v[2]=gby*e2+gb2*byy*py2+py2+gb2xy*px2+gb2yz*pz2; 00129 00130 v[3]=gbz*e2+gb2*bzz*pz2+pz2+gb2yz*py2+gb2xz*px2; 00131 00132 return; 00133 00134 }
void EvtVector4C::applyBoostTo | ( | const EvtVector4R & | p4 | ) |
Definition at line 73 of file EvtVector4C.cc.
References EvtVector4R::get().
Referenced by EvtRaritaSchwinger::applyBoostTo(), and boostTo().
00073 { 00074 00075 double e=p4.get(0); 00076 00077 EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e); 00078 00079 applyBoostTo(boost); 00080 00081 return; 00082 00083 }
void EvtVector4C::applyRotateEuler | ( | double | alpha, | |
double | beta, | |||
double | gamma | |||
) |
Definition at line 136 of file EvtVector4C.cc.
References cos(), sin(), v, and x.
Referenced by EvtRaritaSchwinger::applyRotateEuler(), EvtPhotonParticle::epsParentPhoton(), rotateEuler(), EvtVectorParticle::rotateToHelicityBasis(), EvtTensorParticle::rotateToHelicityBasis(), and EvtPhotonParticle::rotateToHelicityBasis().
00136 { 00137 00138 double sp=sin(phi); 00139 double st=sin(theta); 00140 double sk=sin(ksi); 00141 double cp=cos(phi); 00142 double ct=cos(theta); 00143 double ck=cos(ksi); 00144 00145 EvtComplex x=( ck*ct*cp-sk*sp)*v[1]+( -sk*ct*cp-ck*sp)*v[2]+st*cp*v[3]; 00146 EvtComplex y=( ck*ct*sp+sk*cp)*v[1]+(-sk*ct*sp+ck*cp)*v[2]+st*sp*v[3]; 00147 EvtComplex z=-ck*st*v[1]+sk*st*v[2]+ct*v[3]; 00148 00149 v[1]=x; 00150 v[2]=y; 00151 v[3]=z; 00152 00153 }
EvtVector4C EvtVector4C::conj | ( | ) | const [inline] |
Definition at line 206 of file EvtVector4C.hh.
References EvtVector4C(), and v.
Referenced by EvtbTosllVectorAmp::CalcAmp(), EvtSemiLeptonicVectorAmp::CalcAmp(), EvtVVPIPI_WEIGHTED::decay(), EvtVSPPwave::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtLNuGamma::decay(), EvtKstarnunu::decay(), EvtBHadronic::decay(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtVectorParticle::rotateToHelicityBasis(), and EvtPhotonParticle::rotateToHelicityBasis().
00206 { 00207 00208 return EvtVector4C(::conj(v[0]),::conj(v[1]), 00209 ::conj(v[2]),::conj(v[3])); 00210 }
EvtComplex EvtVector4C::cont | ( | const EvtVector4C & | v4 | ) | const [inline] |
Definition at line 146 of file EvtVector4C.hh.
References v.
Referenced by EvtSemiLeptonicVectorAmp::CalcAmp(), EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtLNuGamma::decay(), and EvtGoityRoberts::DecayBDstarpilnuGR().
double EvtVector4C::dot | ( | const EvtVector4C & | p2 | ) |
const EvtComplex & EvtVector4C::get | ( | int | ) | const [inline] |
Definition at line 131 of file EvtVector4C.hh.
References v.
Referenced by EvtTensor4C::cont1(), EvtTensor4C::cont2(), directProd(), EvtDecayPlaneNormalAngle(), EvtVector4R::scalartripler3(), and slash().
EvtVector4C & EvtVector4C::operator *= | ( | const EvtComplex & | c | ) | [inline] |
EvtVector4C & EvtVector4C::operator+= | ( | const EvtVector4C & | v2 | ) | [inline] |
EvtVector4C & EvtVector4C::operator-= | ( | const EvtVector4C & | v2 | ) | [inline] |
EvtVector4C & EvtVector4C::operator= | ( | const EvtVector4C & | v2 | ) | [inline] |
void EvtVector4C::set | ( | double | , | |
double | , | |||
double | , | |||
double | ||||
) | [inline] |
Definition at line 125 of file EvtVector4C.hh.
References v.
00126 { 00127 00128 v[0]=EvtComplex(e); v[1]=EvtComplex(p1); v[2]=EvtComplex(p2); v[3]=EvtComplex(p3); 00129 }
void EvtVector4C::set | ( | const EvtComplex & | , | |
const EvtComplex & | , | |||
const EvtComplex & | , | |||
const EvtComplex & | ||||
) | [inline] |
void EvtVector4C::set | ( | int | , | |
const EvtComplex & | ||||
) | [inline] |
Definition at line 109 of file EvtVector4C.hh.
References v.
Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtPhotonParticle::epsParentPhoton(), and EvtVectorParticle::init().
EvtVector3C EvtVector4C::vec | ( | ) | const [inline] |
Definition at line 114 of file EvtVector4C.hh.
References v.
Referenced by EvtVVP::decay(), and EvtSVVHelAmp::SVVHel().
00114 { 00115 00116 return EvtVector3C(v[1],v[2],v[3]); 00117 }
EvtVector4C boostTo | ( | const EvtVector4C & | e, | |
const EvtVector3R | boost | |||
) | [friend] |
Definition at line 64 of file EvtVector4C.cc.
00065 { 00066 00067 EvtVector4C tmp(rs); 00068 tmp.applyBoostTo(boost); 00069 return tmp; 00070 00071 }
EvtVector4C boostTo | ( | const EvtVector4C & | e, | |
const EvtVector4R | p4 | |||
) | [friend] |
Definition at line 55 of file EvtVector4C.cc.
00056 { 00057 00058 EvtVector4C tmp(rs); 00059 tmp.applyBoostTo(p4); 00060 return tmp; 00061 00062 }
EvtComplex operator * | ( | const EvtVector4C & | v1, | |
const EvtVector4C & | v2 | |||
) | [friend] |
EvtComplex operator * | ( | const EvtVector4C & | v1, | |
const EvtVector4R & | v2 | |||
) | [friend] |
EvtComplex operator * | ( | const EvtVector4R & | v1, | |
const EvtVector4C & | v2 | |||
) | [friend] |
EvtVector4C operator * | ( | const EvtComplex & | c, | |
const EvtVector4R & | v2 | |||
) | [friend] |
Definition at line 177 of file EvtVector4C.hh.
00177 { 00178 00179 return EvtVector4C(c*v2.get(0),c*v2.get(1),c*v2.get(2),c*v2.get(3)); 00180 }
EvtVector4C operator * | ( | const EvtVector4C & | v2, | |
const EvtComplex & | c | |||
) | [friend] |
Definition at line 172 of file EvtVector4C.hh.
00172 { 00173 00174 return EvtVector4C(v2)*=c; 00175 }
EvtVector4C operator * | ( | const EvtComplex & | c, | |
const EvtVector4C & | v2 | |||
) | [friend] |
Definition at line 167 of file EvtVector4C.hh.
00167 { 00168 00169 return EvtVector4C(v2)*=c; 00170 }
EvtVector4C operator * | ( | double | d, | |
const EvtVector4C & | v2 | |||
) | [friend] |
Definition at line 162 of file EvtVector4C.hh.
00162 { 00163 00164 return EvtVector4C(v2.v[0]*d,v2.v[1]*d,v2.v[2]*d,v2.v[3]*d); 00165 }
EvtVector4C operator+ | ( | const EvtVector4C & | v1, | |
const EvtVector4C & | v2 | |||
) | [friend] |
Definition at line 136 of file EvtVector4C.hh.
00136 { 00137 00138 return EvtVector4C(v1)+=v2; 00139 }
EvtVector4C operator- | ( | const EvtVector4C & | v1, | |
const EvtVector4C & | v2 | |||
) | [friend] |
Definition at line 141 of file EvtVector4C.hh.
00141 { 00142 00143 return EvtVector4C(v1)-=v2; 00144 }
std::ostream& operator<< | ( | std::ostream & | s, | |
const EvtVector4C & | v | |||
) | [friend] |
EvtVector4C rotateEuler | ( | const EvtVector4C & | e, | |
double | alpha, | |||
double | beta, | |||
double | gamma | |||
) | [friend] |
Definition at line 46 of file EvtVector4C.cc.
00047 { 00048 00049 EvtVector4C tmp(rs); 00050 tmp.applyRotateEuler(alpha,beta,gamma); 00051 return tmp; 00052 00053 }
EvtComplex EvtVector4C::v[4] [private] |
Definition at line 75 of file EvtVector4C.hh.
Referenced by applyBoostTo(), applyRotateEuler(), conj(), cont(), EvtVector4C(), get(), operator *(), operator *=(), operator+=(), operator-=(), operator=(), set(), and vec().