#include <EvtVector3R.hh>
Public Member Functions | |
EvtVector3R () | |
EvtVector3R (double x, double y, double z) | |
virtual | ~EvtVector3R () |
EvtVector3R & | operator *= (const double c) |
EvtVector3R & | operator/= (const double c) |
EvtVector3R & | operator+= (const EvtVector3R &v2) |
EvtVector3R & | operator-= (const EvtVector3R &v2) |
void | set (int i, double d) |
void | set (double x, double y, double z) |
void | applyRotateEuler (double phi, double theta, double ksi) |
double | get (int i) const |
double | dot (const EvtVector3R &v2) |
double | d3mag () const |
Private Attributes | |
double | v [3] |
Friends | |
EvtVector3R | rotateEuler (const EvtVector3R &v, double phi, double theta, double ksi) |
EvtVector3R | operator * (double c, const EvtVector3R &v2) |
double | operator * (const EvtVector3R &v1, const EvtVector3R &v2) |
EvtVector3R | operator+ (const EvtVector3R &v1, const EvtVector3R &v2) |
EvtVector3R | operator- (const EvtVector3R &v1, const EvtVector3R &v2) |
EvtVector3R | operator * (const EvtVector3R &v1, double c) |
EvtVector3R | operator/ (const EvtVector3R &v1, double c) |
EvtVector3R | cross (const EvtVector3R &v1, const EvtVector3R &v2) |
std::ostream & | operator<< (std::ostream &s, const EvtVector3R &v) |
Definition at line 28 of file EvtVector3R.hh.
EvtVector3R::EvtVector3R | ( | ) |
EvtVector3R::EvtVector3R | ( | double | x, | |
double | y, | |||
double | z | |||
) |
EvtVector3R::~EvtVector3R | ( | ) | [virtual] |
void EvtVector3R::applyRotateEuler | ( | double | phi, | |
double | theta, | |||
double | ksi | |||
) |
Definition at line 53 of file EvtVector3R.cc.
References cos(), sin(), subSeperate::temp, and v.
Referenced by rotateEuler().
00053 { 00054 00055 double temp[3]; 00056 double sp,st,sk,cp,ct,ck; 00057 00058 sp=sin(phi); 00059 st=sin(theta); 00060 sk=sin(ksi); 00061 cp=cos(phi); 00062 ct=cos(theta); 00063 ck=cos(ksi); 00064 00065 temp[0]=( ck*ct*cp-sk*sp)*v[0]+( -sk*ct*cp-ck*sp)*v[1]+st*cp*v[2]; 00066 temp[1]=( ck*ct*sp+sk*cp)*v[0]+(-sk*ct*sp+ck*cp)*v[1]+st*sp*v[2]; 00067 temp[2]=-ck*st*v[0]+sk*st*v[1]+ct*v[2]; 00068 00069 00070 v[0]=temp[0]; 00071 v[1]=temp[1]; 00072 v[2]=temp[2]; 00073 }
double EvtVector3R::d3mag | ( | ) | const |
Definition at line 95 of file EvtVector3R.cc.
References subSeperate::temp, and v.
Referenced by EvtEulerAngles::EulerAngles().
00098 { 00099 double temp; 00100 00101 temp = v[0]*v[0]+v[1]*v[1]+v[2]*v[2]; 00102 temp = sqrt( temp ); 00103 00104 return temp; 00105 } // r3mag
double EvtVector3R::dot | ( | const EvtVector3R & | v2 | ) |
Definition at line 107 of file EvtVector3R.cc.
References subSeperate::temp, and v.
00107 { 00108 00109 double temp; 00110 00111 temp = v[0]*p2.v[0]; 00112 temp += v[1]*p2.v[1]; //2010-2-22,pingrg: corrected 00113 temp += v[2]*p2.v[2]; 00114 00115 return temp; 00116 } //dot
double EvtVector3R::get | ( | int | i | ) | const [inline] |
Definition at line 126 of file EvtVector3R.hh.
References v.
Referenced by EvtVector4R::applyBoostTo(), EvtVector4C::applyBoostTo(), EvtTensor4C::applyBoostTo(), EvtDiracSpinor::applyBoostTo(), directProd(), EvtEulerAngles::EulerAngles(), EvtVector3C::EvtVector3C(), and operator *().
EvtVector3R & EvtVector3R::operator *= | ( | const double | c | ) | [inline] |
EvtVector3R & EvtVector3R::operator+= | ( | const EvtVector3R & | v2 | ) | [inline] |
EvtVector3R & EvtVector3R::operator-= | ( | const EvtVector3R & | v2 | ) | [inline] |
EvtVector3R & EvtVector3R::operator/= | ( | const double | c | ) | [inline] |
void EvtVector3R::set | ( | double | x, | |
double | y, | |||
double | z | |||
) | [inline] |
void EvtVector3R::set | ( | int | i, | |
double | d | |||
) | [inline] |
Definition at line 130 of file EvtVector3R.hh.
References v.
Referenced by EvtEulerAngles::EvtEulerAngles().
EvtVector3R cross | ( | const EvtVector3R & | v1, | |
const EvtVector3R & | v2 | |||
) | [friend] |
Definition at line 84 of file EvtVector3R.cc.
00084 { 00085 00086 //Calcs the cross product. Added by djl on July 27, 1995. 00087 //Modified for real vectros by ryd Aug 28-96 00088 00089 return EvtVector3R(p1.v[1]*p2.v[2] - p1.v[2]*p2.v[1], 00090 p1.v[2]*p2.v[0] - p1.v[0]*p2.v[2], 00091 p1.v[0]*p2.v[1] - p1.v[1]*p2.v[0]); 00092 00093 }
EvtVector3R operator * | ( | const EvtVector3R & | v1, | |
double | c | |||
) | [friend] |
Definition at line 100 of file EvtVector3R.hh.
00100 { 00101 00102 return EvtVector3R(v1)*=c; 00103 }
double operator * | ( | const EvtVector3R & | v1, | |
const EvtVector3R & | v2 | |||
) | [friend] |
EvtVector3R operator * | ( | double | c, | |
const EvtVector3R & | v2 | |||
) | [friend] |
EvtVector3R operator+ | ( | const EvtVector3R & | v1, | |
const EvtVector3R & | v2 | |||
) | [friend] |
Definition at line 115 of file EvtVector3R.hh.
00115 { 00116 00117 return EvtVector3R(v1)+=v2; 00118 }
EvtVector3R operator- | ( | const EvtVector3R & | v1, | |
const EvtVector3R & | v2 | |||
) | [friend] |
Definition at line 120 of file EvtVector3R.hh.
00120 { 00121 00122 return EvtVector3R(v1)-=v2; 00123 00124 }
EvtVector3R operator/ | ( | const EvtVector3R & | v1, | |
double | c | |||
) | [friend] |
Definition at line 105 of file EvtVector3R.hh.
00105 { 00106 00107 return EvtVector3R(v1)/=c; 00108 }
std::ostream& operator<< | ( | std::ostream & | s, | |
const EvtVector3R & | v | |||
) | [friend] |
EvtVector3R rotateEuler | ( | const EvtVector3R & | v, | |
double | phi, | |||
double | theta, | |||
double | ksi | |||
) | [friend] |
Definition at line 43 of file EvtVector3R.cc.
00044 { 00045 00046 EvtVector3R tmp(v); 00047 tmp.applyRotateEuler(alpha,beta,gamma); 00048 return tmp; 00049 00050 }
double EvtVector3R::v[3] [private] |
Definition at line 59 of file EvtVector3R.hh.
Referenced by applyRotateEuler(), cross(), d3mag(), dot(), EvtVector3R(), get(), operator *(), operator *=(), operator+=(), operator-=(), operator/=(), and set().