00001 // @(#)root/mathcore:$Id: Point2Dfwd.h 22516 2008-03-07 15:14:26Z moneta $ 00002 // Authors: W. Brown, M. Fischler, L. Moneta 2005 00003 00004 /********************************************************************** 00005 * * 00006 * Copyright (c) 2005 , LCG ROOT MathLib Team * 00007 * * 00008 * * 00009 **********************************************************************/ 00010 00011 // Header file Point2Dfwd 00012 // 00013 // Created by: Lorenzo Moneta at Mon Apr 16 2007 00014 // 00015 00016 #ifndef ROOT_Math_Point2Dfwd 00017 #define ROOT_Math_Point2Dfwd 1 00018 00019 // forward declareations of position vectors (Points) and type defs definitions 00020 00021 namespace ROOT { 00022 00023 namespace Math { 00024 00025 template<class CoordSystem, class Tag> class PositionVector2D; 00026 00027 template<typename T> class Cartesian2D; 00028 template<typename T> class Polar2D; 00029 00030 class DefaultCoordinateSystemTag; 00031 00032 /** 00033 2D Point based on the cartesian coordinates x,y,z in double precision 00034 */ 00035 typedef PositionVector2D< Cartesian2D<double>, DefaultCoordinateSystemTag > XYPoint; 00036 typedef XYPoint XYPointD; 00037 00038 /** 00039 2D Point based on the cartesian corrdinates x,y,z in single precision 00040 */ 00041 typedef PositionVector2D< Cartesian2D<float>, DefaultCoordinateSystemTag > XYPointF; 00042 00043 00044 /** 00045 2D Point based on the polar coordinates rho, theta, phi in double precision. 00046 */ 00047 typedef PositionVector2D< Polar2D<double>, DefaultCoordinateSystemTag > Polar2DPoint; 00048 typedef Polar2DPoint Polar2DPointD; 00049 00050 /** 00051 2D Point based on the polar coordinates rho, theta, phi in single precision. 00052 */ 00053 typedef PositionVector2D< Polar2D<float>, DefaultCoordinateSystemTag > Polar2DPointF; 00054 00055 00056 00057 } // end namespace Math 00058 00059 } // end namespace ROOT 00060 00061 00062 #endif /* ROOT_Math_Point2Dfwd */