14 #pragma implementation
17 #include "CLHEP/Vector/LorentzVector.h"
28 (
const HepLorentzVector & vec,
double phi){
29 HepLorentzVector vv (vec);
30 return vv.rotateX (phi);
34 (
const HepLorentzVector & vec,
double phi){
35 HepLorentzVector vv (vec);
36 return vv.rotateY (phi);
40 (
const HepLorentzVector & vec,
double phi){
41 HepLorentzVector vv (vec);
42 return vv.rotateZ (phi);
49 HepLorentzVector & HepLorentzVector::boost
50 (
const Hep3Vector & aaxis,
double bbeta ) {
54 double r2 = aaxis.mag2();
56 std::cerr <<
"HepLorentzVector::boost() - "
57 <<
"A zero vector used as axis defining a boost -- no boost done"
61 double b2 = bbeta*bbeta;
63 std::cerr <<
"HepLorentzVector::boost() - "
64 <<
"LorentzVector boosted with beta >= 1 (speed of light) -- \n"
65 <<
"no boost done" << std::endl;
67 Hep3Vector u = aaxis.unit();
68 register double ggamma = std::sqrt(1./(1.-b2));
69 register double betaDotV = u.dot(
pp)*bbeta;
70 register double tt = ee;
72 ee = ggamma * (tt + betaDotV);
73 pp += ( ((ggamma-1)/b2)*betaDotV*bbeta + ggamma*bbeta*tt ) * u;
HepLorentzVector rotationXOf(const HepLorentzVector &vec, double phi)
HepLorentzVector rotationZOf(const HepLorentzVector &vec, double phi)
HepLorentzVector rotationYOf(const HepLorentzVector &vec, double phi)