Back to home page

EIC code displayed by LXR

 
 

    


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

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 Vector3Dfwd
0012 //
0013 // Created by: Lorenzo Moneta  at Mon May 30 18:08:35 2005
0014 //
0015 // Last update: Mon May 30 18:08:35 2005
0016 //
0017 #ifndef ROOT_Math_Vector3Dfwd
0018 #define ROOT_Math_Vector3Dfwd  1
0019 
0020 // forward declarations of displacement vectors (Vectors) and type defs definitions
0021 
0022 namespace ROOT {
0023 
0024   namespace Math {
0025 
0026 
0027     template<class CoordSystem, class Tag> class DisplacementVector3D;
0028 
0029     template<typename T> class Cartesian3D;
0030     template<typename T> class CylindricalEta3D;
0031     template<typename T> class Polar3D;
0032     template<typename T> class Cylindrical3D;
0033 
0034     class DefaultCoordinateSystemTag;
0035 
0036 
0037     /**
0038        3D Vector based on the cartesian coordinates x,y,z in double precision
0039 
0040        To use it add the line `#include <Vector3D.h>`
0041 
0042        See the documentation on the DisplacementVector3D page.
0043     */
0044     typedef DisplacementVector3D< Cartesian3D<double>, DefaultCoordinateSystemTag > XYZVector;
0045     /**
0046        3D Vector based on the cartesian coordinates x,y,z in single precision
0047 
0048        To use it add the line `#include <Vector3D.h>`
0049 
0050        See the documentation on the DisplacementVector3D page.
0051     */
0052     typedef DisplacementVector3D< Cartesian3D<float>, DefaultCoordinateSystemTag > XYZVectorF;
0053     typedef XYZVector XYZVectorD;
0054 
0055     /**
0056        3D Vector based on the eta based cylindrical coordinates rho, eta, phi in double precision.
0057 
0058        To use it add the line `#include <Vector3D.h>`
0059 
0060        See the documentation on the DisplacementVector3D page.
0061     */
0062     typedef DisplacementVector3D< CylindricalEta3D<double>, DefaultCoordinateSystemTag > RhoEtaPhiVector;
0063     /**
0064        3D Vector based on the eta based cylindrical coordinates rho, eta, phi in single precision.
0065 
0066        To use it add the line `#include <Vector3D.h>`
0067 
0068        See the documentation on the DisplacementVector3D page.
0069     */
0070     typedef DisplacementVector3D< CylindricalEta3D<float>, DefaultCoordinateSystemTag > RhoEtaPhiVectorF;
0071     typedef RhoEtaPhiVector RhoEtaPhiVectorD;
0072 
0073     /**
0074        3D Vector based on the polar coordinates rho, theta, phi in double precision.
0075 
0076        To use it add the line `#include <Vector3D.h>`
0077 
0078        See the documentation on the DisplacementVector3D page.
0079     */
0080     typedef DisplacementVector3D< Polar3D<double>, DefaultCoordinateSystemTag > Polar3DVector;
0081     /**
0082        3D Vector based on the polar coordinates rho, theta, phi in single precision.
0083 
0084        To use it add the line `#include <Vector3D.h>`
0085 
0086        See the documentation on the DisplacementVector3D page.
0087     */
0088     typedef DisplacementVector3D< Polar3D<float>, DefaultCoordinateSystemTag > Polar3DVectorF;
0089     typedef Polar3DVector Polar3DVectorD;
0090 
0091     /**
0092        3D Vector based on the cylindrical coordinates rho, z, phi in double precision.
0093 
0094        To use it add the line `#include <Vector3D.h>`
0095 
0096        See the documentation on the DisplacementVector3D page.
0097     */
0098     typedef DisplacementVector3D< Cylindrical3D<double>, DefaultCoordinateSystemTag > RhoZPhiVector;
0099     /**
0100        3D Vector based on the cylindrical coordinates rho, z, phi in single precision.
0101 
0102        To use it add the line `#include <Vector3D.h>`
0103 
0104        See the documentation on the DisplacementVector3D page.
0105     */
0106     typedef DisplacementVector3D< Cylindrical3D<float>, DefaultCoordinateSystemTag > RhoZPhiVectorF;
0107     typedef RhoZPhiVector RhoZPhiVectorD;
0108 
0109 
0110   } // end namespace Math
0111 
0112 } // end namespace ROOT
0113 
0114 
0115 #endif /* ROOT_Math_Vector3Dfwd  */