Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:10

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 //     template<typename T> class EEtaPhiMSystem;
0035 
0036 
0037     // for LorentzVector have only double classes (define the vector in the global ref frame)
0038 
0039     /**
0040        LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,-,-,+)
0041 
0042        To use it add the line `#include <Math/Vector4D.h>`
0043 
0044        See the documentation on the LorentzVector page.
0045     */
0046     typedef LorentzVector<PxPyPzE4D<double> > XYZTVector;
0047     // for consistency
0048     typedef LorentzVector<PxPyPzE4D<double> > PxPyPzEVector;
0049 
0050 
0051     /**
0052        LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,-,-,+)
0053 
0054        To use it add the line `#include <Math/Vector4D.h>`
0055 
0056        See the documentation on the LorentzVector page.
0057     */
0058     typedef LorentzVector< PxPyPzE4D <float> > XYZTVectorF;
0059 
0060 
0061     /**
0062        LorentzVector based on the x, y, z,  and Mass in double precision
0063 
0064        To use it add the line `#include <Math/Vector4D.h>`
0065 
0066        See the documentation on the LorentzVector page.
0067     */
0068     typedef LorentzVector<PxPyPzM4D<double> > PxPyPzMVector;
0069 
0070     /**
0071        LorentzVector based on the cylindrical coordinates Pt, eta, phi and E (rho, eta, phi, t) in double precision
0072 
0073        To use it add the line `#include <Math/Vector4D.h>`
0074 
0075        See the documentation on the LorentzVector page.
0076     */
0077     typedef LorentzVector<PtEtaPhiE4D<double> > PtEtaPhiEVector;
0078 
0079     /**
0080        LorentzVector based on the cylindrical coordinates pt, eta, phi and Mass in double precision
0081 
0082        To use it add the line `#include <Math/Vector4D.h>`
0083 
0084        See the documentation on the LorentzVector page.
0085     */
0086     typedef LorentzVector<PtEtaPhiM4D<double> > PtEtaPhiMVector;
0087 
0088 //     /**
0089 //        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.
0090 //     */
0091 //     typedef BasicLorentzVector<EEtaPhiMSystem<double> > LorentzVectorEEtaPhiM;
0092 
0093 
0094 
0095   } // end namespace Math
0096 
0097 } // end namespace ROOT
0098 
0099 #endif
0100