ROOT logo
Gled » GLEDCORE » HPoint<Double32_t>

class HPoint<Double32_t>

 HPoint -- a simple 3D point

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

ZPoint::TP

Function Members (Methods)

public:
HPoint<Double32_t>()
HPoint<Double32_t>(const Float_t* p)
HPoint<Double32_t>(const Double_t* p)
HPoint<Double32_t>(const HPoint<Double32_t>&)
HPoint<Double32_t>(Double32_t _x, Double32_t _y, Double32_t _z)
~HPoint<Double32_t>()
HPoint<Double32_t>&Add(Double32_t _x, Double32_t _y, Double32_t _z)
const Double32_t*Arr() const
Double32_t*Arr()
Double32_tCosTheta() const
HPoint<Double32_t>Cross(const HPoint<Double32_t>& b) const
HPoint<Double32_t>&Cross(const HPoint<Double32_t>& a, const HPoint<Double32_t>& b)
Double32_tDistance(const HPoint<Double32_t>& b) const
Double32_tDot(const HPoint<Double32_t>& v) const
Double32_tDot(const Float_t* v) const
Double32_tDot(const Double_t* v) const
Double32_tEta() const
Double32_tMag() const
Double32_tMag2() const
Double32_tMagnitude() const
HPoint<Double32_t>&Neg()
Double32_tNormalize(Double32_t length = 1)
const Double32_t*operator const Double32_t*() const
Double32_t*operator Double32_t*()
HPoint<Double32_t>&operator*=(Double32_t f)
HPoint<Double32_t>&operator+=(const HPoint<Double32_t>& a)
HPoint<Double32_t>&operator+=(const Float_t* v)
HPoint<Double32_t>&operator+=(const Double_t* v)
HPoint<Double32_t>&operator-=(const HPoint<Double32_t>& a)
HPoint<Double32_t>&operator-=(const Float_t* v)
HPoint<Double32_t>&operator-=(const Double_t* v)
HPoint<Double32_t>&operator/=(Double32_t d)
HPoint<Double32_t>&operator=(const HPoint<Double32_t>&)
Double32_toperator[](Int_t idx) const
Double32_t&operator[](Int_t idx)
HPoint<Double32_t>Orthogonal() const
voidOrthoNormBase(HPoint<Double32_t>& a, HPoint<Double32_t>& b) const
Double32_tPerp() const
Double32_tPerp2() const
Double32_tPhi() const
voidPrint() const
voidSet(const Float_t* p)
voidSet(const Double_t* p)
voidSet(Double32_t _x, Double32_t _y, Double32_t _z)
Double32_tSquareDistance(const HPoint<Double32_t>& b) const
Double32_tSquareMagnitude() const
Double32_tTheta() const
voidZero()

Data Members

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TT HPoint<TT> SquareDistance(const HPoint<Double32_t>& b) const
TT HPoint<TT> Distance(const HPoint<Double32_t>& b) const
HPoint<TT> HPoint<TT> Cross(const HPoint<Double32_t>& b) const
HPoint<TT>& HPoint<TT> Cross(const HPoint<Double32_t>& a, const HPoint<Double32_t>& b)
const TT* Arr() const
{ return &x; }
TT* Arr()
{ return &x; }
void Set(Double32_t _x, Double32_t _y, Double32_t _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(Double32_t _x, Double32_t _y, Double32_t _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*=(Double32_t f)
{ x *= f; y *= f; z *= f; return *this; }
HPoint& operator/=(Double32_t 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(Double32_t length = 1)
HPoint Orthogonal() const
void OrthoNormBase(HPoint<Double32_t>& a, HPoint<Double32_t>& b) const
void Print() const
TT operator[](Int_t idx) const
{ return M[i]; }
TT& operator[](Int_t idx)
{ return M[i]; }