ROOT logo
Gled » GLEDCORE » HPoint<double>

class HPoint<double>

 HPoint -- a simple 3D point

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

HPoint<Double_t>, HPointD::TP

Function Members (Methods)

public:
HPoint<double>()
HPoint<double>(const Float_t* p)
HPoint<double>(const Double_t* p)
HPoint<double>(const HPoint<double>&)
HPoint<double>(double _x, double _y, double _z)
~HPoint<double>()
HPoint<double>&Add(double _x, double _y, double _z)
const double*Arr() const
double*Arr()
doubleCosTheta() const
HPoint<double>Cross(const HPoint<double>& b) const
HPoint<double>&Cross(const HPoint<double>& a, const HPoint<double>& b)
doubleDistance(const HPoint<double>& b) const
doubleDot(const HPoint<double>& v) const
doubleDot(const Float_t* v) const
doubleDot(const Double_t* v) const
doubleEta() const
doubleMag() const
doubleMag2() const
doubleMagnitude() const
HPoint<double>&Neg()
doubleNormalize(double length = 1)
const double*operator const double*() const
double*operator double*()
HPoint<double>&operator*=(double f)
HPoint<double>&operator+=(const HPoint<double>& a)
HPoint<double>&operator+=(const Float_t* v)
HPoint<double>&operator+=(const Double_t* v)
HPoint<double>&operator-=(const HPoint<double>& a)
HPoint<double>&operator-=(const Float_t* v)
HPoint<double>&operator-=(const Double_t* v)
HPoint<double>&operator/=(double d)
HPoint<double>&operator=(const HPoint<double>&)
doubleoperator[](Int_t idx) const
double&operator[](Int_t idx)
HPoint<double>Orthogonal() const
voidOrthoNormBase(HPoint<double>& a, HPoint<double>& b) const
doublePerp() const
doublePerp2() const
doublePhi() const
voidPrint() const
voidSet(const Float_t* p)
voidSet(const Double_t* p)
voidSet(double _x, double _y, double _z)
doubleSquareDistance(const HPoint<double>& b) const
doubleSquareMagnitude() const
doubleTheta() const
voidZero()

Data Members

public:
doublex
doubley
doublez

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TT HPoint<TT> SquareDistance(const HPoint<double>& b) const
TT HPoint<TT> Distance(const HPoint<double>& b) const
HPoint<TT> HPoint<TT> Cross(const HPoint<double>& b) const
HPoint<TT>& HPoint<TT> Cross(const HPoint<double>& a, const HPoint<double>& b)
const TT* Arr() const
{ return &x; }
TT* Arr()
{ return &x; }
void Set(double _x, double _y, double _z)
{ x = _x; y = _y; z = _z; }
void Set(const Float_t* p)
{ x = p[0]; y = p[1]; z = p[2]; }
void Set(const Double_t* p)
{ x = p[0]; y = p[1]; z = p[2]; }
void Zero()
{ x = y = z = 0; }
HPoint& Neg()
{ x = -x; y = -y; z = -z; return *this; }
HPoint& Add(double _x, double _y, double _z)
{ x += _x; y += _y; z += _z; return *this; }
HPoint& operator+=(const HPoint& a)
{ x += a.x; y += a.y; z += a.z; return *this; }
HPoint& operator+=(const Float_t* v)
{ x += v[0]; y += v[1]; z += v[2]; return *this; }
HPoint& operator+=(const Double_t* v)
{ x += v[0]; y += v[1]; z += v[2]; return *this; }
HPoint& operator-=(const HPoint& a)
{ x -= a.x; y -= a.y; z -= a.z; return *this; }
HPoint& operator-=(const Float_t* v)
{ x -= v[0]; y -= v[1]; z -= v[2]; return *this; }
HPoint& operator-=(const Double_t* v)
{ x -= v[0]; y -= v[1]; z -= v[2]; return *this; }
HPoint& operator*=(double f)
{ x *= f; y *= f; z *= f; return *this; }
HPoint& operator/=(double d)
{ return operator*=(1/d); }
TT Dot(const HPoint& v)
{ return x*v.x + y*v.y + z*v.z; }
TT Dot(const Float_t* v) const
{ return x*v[0] + y*v[1] + z*v[2]; }
TT Dot(const Double_t* v) const
{ return x*v[0] + y*v[1] + z*v[2]; }
TT SquareMagnitude() const
{ return x*x + y*y + z*z; }
TT Magnitude() const
{ return TMath::Sqrt(SquareMagnitude()); }
TT Mag2() const
{ return x*x + y*y + z*z; }
TT Mag() const
{ return TMath::Sqrt(SquareMagnitude()); }
TT Perp2() const
{ return x*x + y*y; }
TT Perp() const
{ return TMath::Sqrt(Perp2()); }
TT Phi() const
{ return TMath::ATan2(y, x); }
TT Theta() const
{ return TMath::ATan2(Perp(), z); }
TT CosTheta() const
{ TT m = Mag(); return m == 0 ? 1 : z / m; }
TT Eta() const
TT Normalize(double length = 1)
HPoint Orthogonal() const
void OrthoNormBase(HPoint<double>& a, HPoint<double>& b) const
void Print() const
TT operator[](Int_t idx) const
{ return M[i]; }
TT& operator[](Int_t idx)
{ return M[i]; }