19#ifndef ROOT_Math_GenVector_Polar2D
20#define ROOT_Math_GenVector_Polar2D 1
67 template <
class CoordSystem >
68 explicit constexpr Polar2D(
const CoordSystem &
v ) :
159 template <
class CoordSystem >
179 T
x()
const {
return X();}
180 T
y()
const {
return Y();}
186#if defined(__MAKECINT__) || defined(G__DICTIONARY)
211#if defined(__MAKECINT__) || defined(G__DICTIONARY)
225#if defined(__MAKECINT__) || defined(G__DICTIONARY)
237 void Polar2D<T>::SetY(Scalar
a) {
238 GenVector_exception
e(
"Polar2D::SetY() is not supposed to be called");
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint angle
Class describing a polar 2D coordinate system based on r and phi Phi is restricted to be in the range...
void Negate()
negate the vector
void SetR(const T &r)
set the r coordinate value keeping phi constant
void SetXY(Scalar a, Scalar b)
set all values using cartesian coordinates
void SetCoordinates(Scalar r, Scalar phi)
Set internal data based on 2 Scalar numbers.
Polar2D & operator=(const CoordSystem &c)
generic assignment operator from any coordinate system
void Scale(T a)
scale by a scalar quantity - for polar coordinates r changes
constexpr Polar2D() noexcept=default
Default constructor with r=1,phi=0.
bool operator==(const Polar2D &rhs) const
Exact equality.
constexpr Polar2D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing R() and Phi()
void Rotate(T angle)
rotate the vector
void SetPhi(const T &phi)
set the phi coordinate value keeping r constant
void GetCoordinates(Scalar &r, Scalar &phi) const
get internal data into 2 Scalar numbers
bool operator!=(const Polar2D &rhs) const
static constexpr unsigned int Dimension
void Restrict()
restrict abgle hi to be between -PI and PI
Namespace for new Math classes and functions.
Rotation3D::Scalar Scalar
Namespace for new ROOT classes and functions.