Geant4 Cross Reference |
1 // -*- C++ -*- 2 // --------------------------------------------------------------------------- 3 // 4 // This file is a part of the CLHEP - a Class Library for High Energy Physics. 5 // 6 // This is part of the implementation of the HepLorentzVector class: 7 // Those methods which might, if coded in LorentzVector.cc, force loading 8 // of the Rotation.cc code module. 9 // 10 11 #include "CLHEP/Vector/LorentzVector.h" 12 13 namespace CLHEP { 14 15 HepLorentzVector & HepLorentzVector::rotate(double a, const Hep3Vector &v1) { 16 pp.rotate(a,v1); 17 return *this; 18 } 19 20 HepLorentzVector & HepLorentzVector::rotate ( const Hep3Vector & aaxis, 21 double ddelta ) { 22 pp.rotate (aaxis, ddelta); 23 return *this; 24 } 25 26 HepLorentzVector & HepLorentzVector::rotate ( const HepAxisAngle & ax ) { 27 pp.rotate (ax); 28 return *this; 29 } 30 31 HepLorentzVector & HepLorentzVector::rotate ( const HepEulerAngles & e1 ) { 32 pp.rotate (e1); 33 return *this; 34 } 35 36 HepLorentzVector & HepLorentzVector::rotate ( double phi1, 37 double theta1, 38 double psi1 ) { 39 pp.rotate (phi1, theta1, psi1); 40 return *this; 41 } 42 43 HepLorentzVector rotationOf (const HepLorentzVector & vec, 44 const Hep3Vector & aaxis, 45 double ddelta) { 46 HepLorentzVector vv (vec); 47 return vv.rotate (aaxis, ddelta); 48 } 49 50 HepLorentzVector rotationOf 51 (const HepLorentzVector & vec, const HepAxisAngle &ax ) { 52 HepLorentzVector vv (vec); 53 return vv.rotate (ax); 54 } 55 56 HepLorentzVector rotationOf 57 (const HepLorentzVector & vec, const HepEulerAngles &e1 ) { 58 HepLorentzVector vv (vec); 59 return vv.rotate (e1); 60 } 61 62 HepLorentzVector rotationOf (const HepLorentzVector & vec, 63 double phi1, 64 double theta1, 65 double psi1) { 66 HepLorentzVector vv (vec); 67 return vv.rotate (phi1, theta1, psi1); 68 } 69 70 } // namespace CLHEP 71