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"