ROOT logo
ROOT » MATH » GENVECTOR » ROOT::Math::Polar2D<Double32_t>

class ROOT::Math::Polar2D<Double32_t>

       Class describing a polar 2D coordinate system based on r and phi
       Phi is restricted to be in the range [-PI,PI)

       @ingroup GenVector

This class is also known as (typedefs to this class)


Function Members (Methods)

static doublepi()

Data Members


Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Polar2D & operator=(const ROOT::Math::Polar2D<Double32_t>& v)
      assignment operator

void SetCoordinates(ROOT::Math::Polar2D<Double32_t>::Scalar r, ROOT::Math::Polar2D<Double32_t>::Scalar phi)
      Set internal data based on 2 Scalar numbers

{ fR=r; fPhi=phi; Restrict(); }
void GetCoordinates(ROOT::Math::Polar2D<Double32_t>::Scalar& r, ROOT::Math::Polar2D<Double32_t>::Scalar& phi) const
      get internal data into 2 Scalar numbers

{r=fR; phi=fPhi;}
Scalar R() const
{ return fR;}
Scalar Phi() const
{ return fPhi; }
Scalar X() const
{ return fR*std::cos(fPhi);}
Scalar Y() const
{ return fR*std::sin(fPhi);}
Scalar Mag2() const
{ return fR*fR;}
void SetR(const Double32_t& r)
 setters (only for data members)

       set the r coordinate value keeping phi constant

void SetPhi(const Double32_t& phi)
       set the phi coordinate value keeping r constant

void SetXY(ROOT::Math::Polar2D<Double32_t>::Scalar a, ROOT::Math::Polar2D<Double32_t>::Scalar b)
       set all values using cartesian coordinates

double pi()
{ return M_PI; }
void Scale(Double32_t a)
       scale by a scalar quantity - for polar coordinates r changes

void Rotate(Double32_t angle)
      rotate the vector

bool operator==(const ROOT::Math::Polar2D<Double32_t>& rhs) const
      Exact equality

bool operator!=(const ROOT::Math::Polar2D<Double32_t>& rhs) const
{return !(operator==(rhs));}
T x() const
 ============= Compatibility section ==================
 The following make this coordinate system look enough like a CLHEP
 vector that an assignment member template can work with either
{ return X();}
T y() const
{ return Y();}
void SetX(ROOT::Math::Polar2D<Double32_t>::Scalar a)
 ============= Specializations for improved speed ==================
 ====== Set member functions for coordinates in other systems =======
void SetY(ROOT::Math::Polar2D<Double32_t>::Scalar a)