Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-18 09:31:43

0001 // @(#)root/mathcore:$Id$
0002 // Authors: W. Brown, M. Fischler, L. Moneta    2005
0003 
0004  /**********************************************************************
0005   *                                                                    *
0006   * Copyright (c) 2005 , LCG ROOT MathLib Team                         *
0007   *                                                                    *
0008   *                                                                    *
0009   **********************************************************************/
0010 
0011 // Header file for class LorentzVectorfwd
0012 //
0013 // Created by: moneta  at Tue May 31 21:06:43 2005
0014 //
0015 // Last update: Tue May 31 21:06:43 2005
0016 //
0017 #ifndef ROOT_Math_Vector4Dfwd
0018 #define ROOT_Math_Vector4Dfwd  1
0019 
0020 
0021 namespace ROOT {
0022 
0023   namespace Math {
0024 
0025 
0026     // forward declarations of Lorentz Vectors and type defs definitions
0027 
0028     template<class CoordSystem> class LorentzVector;
0029 
0030     template<typename T> class PxPyPzE4D;
0031     template<typename T> class PtEtaPhiE4D;
0032     template<typename T> class PxPyPzM4D;
0033     template<typename T> class PtEtaPhiM4D;
0034 
0035     // for LorentzVector have only double classes (define the vector in the global ref frame)
0036 
0037     /**
0038        LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,-,-,+)
0039 
0040        To use it add the line `#include <Math/Vector4D.h>`
0041 
0042        See the documentation on the LorentzVector page.
0043     */
0044     typedef LorentzVector<PxPyPzE4D<double> > XYZTVector;
0045     // for consistency
0046     typedef LorentzVector<PxPyPzE4D<double> > PxPyPzEVector;
0047 
0048 
0049     /**
0050        LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,-,-,+)
0051 
0052        To use it add the line `#include <Math/Vector4D.h>`
0053 
0054        See the documentation on the LorentzVector page.
0055     */
0056     typedef LorentzVector< PxPyPzE4D <float> > XYZTVectorF;
0057 
0058 
0059     /**
0060        LorentzVector based on the x, y, z,  and Mass in double precision
0061 
0062        To use it add the line `#include <Math/Vector4D.h>`
0063 
0064        See the documentation on the LorentzVector page.
0065     */
0066     typedef LorentzVector<PxPyPzM4D<double> > PxPyPzMVector;
0067 
0068     /**
0069        LorentzVector based on the cylindrical coordinates Pt, eta, phi and E (rho, eta, phi, t) in double precision
0070 
0071        To use it add the line `#include <Math/Vector4D.h>`
0072 
0073        See the documentation on the LorentzVector page.
0074     */
0075     typedef LorentzVector<PtEtaPhiE4D<double> > PtEtaPhiEVector;
0076 
0077     /**
0078        LorentzVector based on the cylindrical coordinates pt, eta, phi and Mass in double precision
0079 
0080        To use it add the line `#include <Math/Vector4D.h>`
0081 
0082        See the documentation on the LorentzVector page.
0083     */
0084     typedef LorentzVector<PtEtaPhiM4D<double> > PtEtaPhiMVector;
0085 
0086   } // end namespace Math
0087 
0088 } // end namespace ROOT
0089 
0090 #endif
0091