Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
Vector3Dfwd.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 Vector3Dfwd
12 //
13 // Created by: Lorenzo Moneta at Mon May 30 18:08:35 2005
14 //
15 // Last update: Mon May 30 18:08:35 2005
16 //
17 #ifndef ROOT_Math_Vector3Dfwd
18 #define ROOT_Math_Vector3Dfwd 1
19 
20 // forward declarations of displacement vectors (Vectors) and type defs definitions
21 
22 namespace ROOT {
23 
24  namespace Math {
25 
26 
27  template<class CoordSystem, class Tag> class DisplacementVector3D;
28 
29  template<typename T> class Cartesian3D;
30  template<typename T> class CylindricalEta3D;
31  template<typename T> class Polar3D;
32  template<typename T> class Cylindrical3D;
33 
34  class DefaultCoordinateSystemTag;
35 
36 
37  /**
38  3D Vector based on the cartesian coordinates x,y,z in double precision
39  */
40  typedef DisplacementVector3D< Cartesian3D<double>, DefaultCoordinateSystemTag > XYZVector;
41  /**
42  3D Vector based on the cartesian corrdinates x,y,z in single precision
43  */
44  typedef DisplacementVector3D< Cartesian3D<float>, DefaultCoordinateSystemTag > XYZVectorF;
45  typedef XYZVector XYZVectorD;
46 
47  /**
48  3D Vector based on the eta based cylindrical coordinates rho, eta, phi in double precision.
49  */
50  typedef DisplacementVector3D< CylindricalEta3D<double>, DefaultCoordinateSystemTag > RhoEtaPhiVector;
51  /**
52  3D Vector based on the eta based cylindrical coordinates rho, eta, phi in single precision.
53  */
54  typedef DisplacementVector3D< CylindricalEta3D<float>, DefaultCoordinateSystemTag > RhoEtaPhiVectorF;
55  typedef RhoEtaPhiVector RhoEtaPhiVectorD;
56 
57  /**
58  3D Vector based on the polar coordinates rho, theta, phi in double precision.
59  */
60  typedef DisplacementVector3D< Polar3D<double>, DefaultCoordinateSystemTag > Polar3DVector;
61  /**
62  3D Vector based on the polar coordinates rho, theta, phi in single precision.
63  */
64  typedef DisplacementVector3D< Polar3D<float>, DefaultCoordinateSystemTag > Polar3DVectorF;
65  typedef Polar3DVector Polar3DVectorD;
66 
67  /**
68  3D Vector based on the cylindrical coordinates rho, z, phi in double precision.
69  */
70  typedef DisplacementVector3D< Cylindrical3D<double>, DefaultCoordinateSystemTag > RhoZPhiVector;
71  /**
72  3D Vector based on the cylindrical coordinates rho, z, phi in single precision.
73  */
74  typedef DisplacementVector3D< Cylindrical3D<float>, DefaultCoordinateSystemTag > RhoZPhiVectorF;
75  typedef RhoZPhiVector RhoZPhiVectorD;
76 
77 
78  } // end namespace Math
79 
80 } // end namespace ROOT
81 
82 
83 #endif /* ROOT_Math_Vector3Dfwd */