21 #ifndef EVTVECTOR4R_HH
22 #define EVTVECTOR4R_HH
42 EvtVector4R(
double e,
double px,
double py ,
double pz);
43 inline void set(
int i,
double d);
44 inline void set(
double e,
double px,
double py ,
double pz);
50 inline double get(
int i)
const;
52 friend std::ostream& operator<<(std::ostream& s,
const EvtVector4R& v);
55 void applyRotateEuler(
double alpha,
double beta,
double gamma);
56 void applyBoostTo(
const EvtVector4R& p4,
bool inverse =
false);
57 void applyBoostTo(
const EvtVector3R& boost,
bool inverse =
false);
74 inline double Square(
double x )
const {
return x*x; }
79 double alpha,
double beta,
double gamma);
115 inline double EvtVector4R::mass2()
const{
117 return v[0]*v[0]-v[1]*v[1]-v[2]*v[2]-v[3]*v[3];
135 inline EvtVector4R& EvtVector4R::operator*=(
double c){
145 inline EvtVector4R& EvtVector4R::operator/=(
double c){
158 return v1.v[0]*v2.v[0]-v1.v[1]*v2.v[1]-
159 v1.v[2]*v2.v[2]-v1.v[3]*v2.v[3];
162 inline double EvtVector4R::cont(
const EvtVector4R& v4)
const {
164 return v[0]*v4.v[0]-v[1]*v4.v[1]-
165 v[2]*v4.v[2]-v[3]*v4.v[3];
178 inline double EvtVector4R::get(
int i)
const {
182 inline void EvtVector4R::set(
int i,
double d){
187 inline void EvtVector4R::set(
double e,
double p1,
double p2,
double p3){