Back to home page

EIC code displayed by LXR

 
 

    


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

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 Point3Dfwd
0012 //
0013 // Created by: Lorenzo Moneta  at Mon May 30 18:12:14 2005
0014 //
0015 // Last update: Mon May 30 18:12:14 2005
0016 //
0017 #ifndef ROOT_Math_Point3Dfwd
0018 #define ROOT_Math_Point3Dfwd  1
0019 
0020 // forward declareations of position vectors (Points) and type defs definitions
0021 
0022 namespace ROOT {
0023 
0024   namespace Math {
0025 
0026     template<class CoordSystem, class Tag> class PositionVector3D;
0027 
0028     template<typename T> class Cartesian3D;
0029     template<typename T> class Cylindrical3D;
0030     template<typename T> class CylindricalEta3D;
0031     template<typename T> class Polar3D;
0032 
0033     class DefaultCoordinateSystemTag;
0034 
0035     /**
0036        3D Point based on the cartesian coordinates x,y,z in double precision
0037     */
0038     typedef PositionVector3D< Cartesian3D<double>, DefaultCoordinateSystemTag > XYZPoint;
0039 
0040     /**
0041        3D Point based on the cartesian coordinates x,y,z in single precision
0042     */
0043     typedef PositionVector3D< Cartesian3D<float>, DefaultCoordinateSystemTag > XYZPointF;
0044     typedef XYZPoint XYZPointD;
0045 
0046     /**
0047        3D Point based on the eta based cylindrical coordinates rho, eta, phi in double precision.
0048     */
0049     typedef PositionVector3D< CylindricalEta3D<double>, DefaultCoordinateSystemTag > RhoEtaPhiPoint;
0050     /**
0051        3D Point based on the eta based cylindrical coordinates rho, eta, phi in single precision.
0052     */
0053     typedef PositionVector3D< CylindricalEta3D<float>, DefaultCoordinateSystemTag > RhoEtaPhiPointF;
0054     typedef RhoEtaPhiPoint RhoEtaPhiPointD;
0055 
0056     /**
0057        3D Point based on the polar coordinates rho, theta, phi in double precision.
0058     */
0059     typedef PositionVector3D< Polar3D<double>, DefaultCoordinateSystemTag > Polar3DPoint;
0060     /**
0061      3D Point based on the polar coordinates rho, theta, phi in single precision.
0062     */
0063     typedef PositionVector3D< Polar3D<float>, DefaultCoordinateSystemTag > Polar3DPointF;
0064     typedef Polar3DPoint Polar3DPointD;
0065 
0066     /**
0067        3D Point based on the cylindrical coordinates rho, z, phi in double precision.
0068     */
0069     typedef PositionVector3D< Cylindrical3D<double>, DefaultCoordinateSystemTag > RhoZPhiPoint;
0070     /**
0071        3D Point based on the cylindrical coordinates rho, z, phi in single precision.
0072     */
0073     typedef PositionVector3D< Cylindrical3D<float>, DefaultCoordinateSystemTag > RhoZPhiPointF;
0074     typedef RhoZPhiPoint RhoZPhiPointD;
0075 
0076 
0077   } // end namespace Math
0078 
0079 } // end namespace ROOT
0080 
0081 
0082 #endif /* ROOT_Math_Point3Dfwd  */