21 #ifndef HEP_LORENTZVECTOR_H
22 #define HEP_LORENTZVECTOR_H
34 class HepLorentzVector;
35 class HepLorentzRotation;
40 HepLorentzVector
rotationXOf(
const HepLorentzVector & vec,
double delta );
41 HepLorentzVector
rotationYOf(
const HepLorentzVector & vec,
double delta );
42 HepLorentzVector
rotationZOf(
const HepLorentzVector & vec,
double delta );
44 (
const HepLorentzVector & vec,
const Hep3Vector & axis,
double delta );
46 (
const HepLorentzVector & vec,
const HepAxisAngle & ax );
48 (
const HepLorentzVector & vec,
const HepEulerAngles &
e );
50 (
const HepLorentzVector & vec,
double phi,
54 HepLorentzVector
boostXOf(
const HepLorentzVector & vec,
double beta );
56 HepLorentzVector
boostYOf(
const HepLorentzVector & vec,
double beta );
58 HepLorentzVector
boostZOf(
const HepLorentzVector & vec,
double beta );
60 (
const HepLorentzVector & vec,
const Hep3Vector & betaVector );
62 (
const HepLorentzVector & vec,
const Hep3Vector & axis,
double beta );
107 inline double x()
const;
108 inline double y()
const;
109 inline double z()
const;
110 inline double t()
const;
113 inline void setX(
double);
114 inline void setY(
double);
115 inline void setZ(
double);
116 inline void setT(
double);
119 inline double px()
const;
120 inline double py()
const;
121 inline double pz()
const;
122 inline double e()
const;
125 inline void setPx(
double);
126 inline void setPy(
double);
127 inline void setPz(
double);
128 inline void setE(
double);
137 inline double theta()
const;
139 inline double phi()
const;
140 inline double rho()
const;
144 inline void setPhi(
double);
145 inline void setRho(
double);
178 inline double perp2()
const;
181 inline double perp()
const;
196 inline double mag2()
const;
200 inline double m2()
const;
203 inline double mag()
const;
204 inline double m()
const;
207 inline double mt2()
const;
210 inline double mt()
const;
213 inline double et2()
const;
216 inline double et()
const;
233 inline double plus()
const;
234 inline double minus()
const;
262 inline bool isLightlike(
double epsilon=tolerance)
const;
312 inline void set (
double x,
double y,
double z,
double t);
321 inline void set (
double t );
340 inline double getX()
const;
341 inline double getY()
const;
342 inline double getZ()
const;
343 inline double getT()
const;
355 inline void setV(
double x,
double y,
double z );
371 double epsilon=tolerance )
const;
376 double epsilon=tolerance )
const;
386 double epsilon=tolerance )
const;
434 double gamma()
const;
437 inline double eta()
const;
530 DLL_API static double tolerance;
537 static const HepLorentzVector X_HAT4 = HepLorentzVector( 1, 0, 0, 0 );
538 static const HepLorentzVector Y_HAT4 = HepLorentzVector( 0, 1, 0, 0 );
539 static const HepLorentzVector Z_HAT4 = HepLorentzVector( 0, 0, 1, 0 );
540 static const HepLorentzVector T_HAT4 = HepLorentzVector( 0, 0, 0, 1 );
544 std::ostream &
operator << (std::ostream &,
const HepLorentzVector &);
547 std::istream &
operator >> (std::istream &, HepLorentzVector &);
568 operator double()
const {
return t_; }
573 #include "CLHEP/Vector/LorentzVector.icc"