Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
Vector4Dfwd.h
Go to the documentation of this file.
1 // @(#)root/mathcore:$Id$
2 // Authors: W. Brown, M. Fischler, L. Moneta 2005
3 
4  /**********************************************************************
5  * *
6  * Copyright (c) 2005 , LCG ROOT MathLib Team *
7  * *
8  * *
9  **********************************************************************/
10 
11 // Header file for class LorentzVectorfwd
12 //
13 // Created by: moneta at Tue May 31 21:06:43 2005
14 //
15 // Last update: Tue May 31 21:06:43 2005
16 //
17 #ifndef ROOT_Math_Vector4Dfwd
18 #define ROOT_Math_Vector4Dfwd 1
19 
20 
21 namespace ROOT {
22 
23  namespace Math {
24 
25 
26  // forward declaretions of Lorentz Vectors and type defs definitions
27 
28  template<class CoordSystem> class LorentzVector;
29 
30  template<typename T> class PxPyPzE4D;
31  template<typename T> class PtEtaPhiE4D;
32  template<typename T> class PxPyPzM4D;
33  template<typename T> class PtEtaPhiM4D;
34 // template<typename T> class EEtaPhiMSystem;
35 
36 
37  // for LorentzVector have only double classes (define the vector in the global ref frame)
38 
39  /**
40  LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,-,-,+)
41  */
42  typedef LorentzVector<PxPyPzE4D<double> > XYZTVector;
43  // for consistency
44  typedef LorentzVector<PxPyPzE4D<double> > PxPyPzEVector;
45 
46 
47  /**
48  LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,-,-,+)
49  */
50  typedef LorentzVector< PxPyPzE4D <float> > XYZTVectorF;
51 
52 
53  /**
54  LorentzVector based on the x, y, z, and Mass in double precision
55  */
56  typedef LorentzVector<PxPyPzM4D<double> > PxPyPzMVector;
57 
58  /**
59  LorentzVector based on the cylindrical coordinates Pt, eta, phi and E (rho, eta, phi, t) in double precision
60  */
61  typedef LorentzVector<PtEtaPhiE4D<double> > PtEtaPhiEVector;
62 
63  /**
64  LorentzVector based on the cylindrical coordinates pt, eta, phi and Mass in double precision
65  */
66  typedef LorentzVector<PtEtaPhiM4D<double> > PtEtaPhiMVector;
67 
68 // /**
69 // LorentzVector based on the coordinates E, Eta, Phi and Mass in double precision. These coordinates are normally used to represents a cluster objects in a calorimeter at a collider experiment.
70 // */
71 // typedef BasicLorentzVector<EEtaPhiMSystem<double> > LorentzVectorEEtaPhiM;
72 
73 
74 
75  } // end namespace Math
76 
77 } // end namespace ROOT
78 
79 #endif
80