Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
Point3Dfwd.h
Go to the documentation of this file.
1 // @(#)root/mathcore:$Id$
2 // Authors: W. Brown, M. Fischler, L. Moneta 2005
3 
4  /**********************************************************************
5  * *
6  * Copyright (c) 2005 , LCG ROOT MathLib Team *
7  * *
8  * *
9  **********************************************************************/
10 
11 // Header file Point3Dfwd
12 //
13 // Created by: Lorenzo Moneta at Mon May 30 18:12:14 2005
14 //
15 // Last update: Mon May 30 18:12:14 2005
16 //
17 #ifndef ROOT_Math_Point3Dfwd
18 #define ROOT_Math_Point3Dfwd 1
19 
20 // forward declareations of position vectors (Points) and type defs definitions
21 
22 namespace ROOT {
23 
24  namespace Math {
25 
26  template<class CoordSystem, class Tag> class PositionVector3D;
27 
28  template<typename T> class Cartesian3D;
29  template<typename T> class Cylindrical3D;
30  template<typename T> class CylindricalEta3D;
31  template<typename T> class Polar3D;
32 
33  class DefaultCoordinateSystemTag;
34 
35  /**
36  3D Point based on the cartesian coordinates x,y,z in double precision
37  */
38  typedef PositionVector3D< Cartesian3D<double>, DefaultCoordinateSystemTag > XYZPoint;
39 
40  /**
41  3D Point based on the cartesian corrdinates x,y,z in single precision
42  */
43  typedef PositionVector3D< Cartesian3D<float>, DefaultCoordinateSystemTag > XYZPointF;
44  typedef XYZPoint XYZPointD;
45 
46  /**
47  3D Point based on the eta based cylindrical coordinates rho, eta, phi in double precision.
48  */
49  typedef PositionVector3D< CylindricalEta3D<double>, DefaultCoordinateSystemTag > RhoEtaPhiPoint;
50  /**
51  3D Point based on the eta based cylindrical coordinates rho, eta, phi in single precision.
52  */
53  typedef PositionVector3D< CylindricalEta3D<float>, DefaultCoordinateSystemTag > RhoEtaPhiPointF;
54  typedef RhoEtaPhiPoint RhoEtaPhiPointD;
55 
56  /**
57  3D Point based on the polar coordinates rho, theta, phi in double precision.
58  */
59  typedef PositionVector3D< Polar3D<double>, DefaultCoordinateSystemTag > Polar3DPoint;
60  /**
61  3D Point based on the polar coordinates rho, theta, phi in single precision.
62  */
63  typedef PositionVector3D< Polar3D<float>, DefaultCoordinateSystemTag > Polar3DPointF;
64  typedef Polar3DPoint Polar3DPointD;
65 
66  /**
67  3D Point based on the cylindrical coordinates rho, z, phi in double precision.
68  */
69  typedef PositionVector3D< Cylindrical3D<double>, DefaultCoordinateSystemTag > RhoZPhiPoint;
70  /**
71  3D Point based on the cylindrical coordinates rho, z, phi in single precision.
72  */
73  typedef PositionVector3D< Cylindrical3D<float>, DefaultCoordinateSystemTag > RhoZPhiPointF;
74  typedef RhoZPhiPoint RhoZPhiPointD;
75 
76 
77  } // end namespace Math
78 
79 } // end namespace ROOT
80 
81 
82 #endif /* ROOT_Math_Point3Dfwd */