Class describing a generic displacement vector in 2 dimensions. This class is templated on the type of Coordinate system. One example is the XYVector which is a vector based on double precision x,y data members by using the ROOT::Math::Cartesian2D<double> Coordinate system. The class is having also an extra template parameter, the coordinate system tag, to be able to identify (tag) vector described in different reference coordinate system, like global or local coordinate systems. @ingroup GenVector
ROOT::Math::Cartesian2D<double> | fCoordinates | internal coordinate system |
------ Set, Get, and access coordinate data ------ Retrieve a copy of the coordinates object
get internal data into 2 Scalar numbers. These are for example (x,y) for a cartesian vector or (r,phi) for a polar vector
{ fCoordinates.GetCoordinates(a, b); }
------------------- Equality ----------------- Exact equality
------ Individual element access, in various coordinate systems ------ Cartesian X, converting if necessary from internal coordinate system.
{ return fCoordinates.X(); }
Cartesian Y, converting if necessary from internal coordinate system.
{ return fCoordinates.Y(); }
Polar R, converting if necessary from internal coordinate system.
{ return fCoordinates.R(); }
Polar phi, converting if necessary from internal coordinate system.
{ return fCoordinates.Phi(); }
----- Other fundamental properties ----- Magnitute squared ( r^2 in spherical coordinate)
{ return fCoordinates.Mag2();}
------ Setting individual elements present in coordinate system ------ Change X - Cartesian2D coordinates only
Change Y - Cartesian2D coordinates only
Change R - Polar2D coordinates only
Change Phi - Polar2D coordinates
multiply this vector by a scalar quantity
divide this vector by a scalar quantity
Division of a vector with a real number
Rotate by an angle
Methods providing Limited backward name compatibility with CLHEP
{ return fCoordinates.X(); }
---------- DisplacementVector2D class template ends here ------------ Addition of DisplacementVector2D vectors. The (coordinate system) type of the returned vector is defined to be identical to that of the first vector, which is passed by value
Difference between two DisplacementVector2D vectors. The (coordinate system) type of the returned vector is defined to be identical to that of the first vector.