ROOT logo
ROOT » GRAF3D » EVE » TEveVector

class TEveVector

 Float three-vector; a inimal Float_t copy of TVector3 used to
 represent points and momenta (also used in VSD).

Function Members (Methods)

TEveVector(const Float_t* v)
TEveVector(const Double_t* v)
TEveVector(const TEveVector&)
TEveVector(Float_t x, Float_t y, Float_t z)
const Float_t*Arr() const
static TClass*Class()
Float_tCosTheta() const
Float_tDistance(const TEveVector& b) const
Float_tDot(const TEveVector& a) const
voidDump() const
Float_tEta() const
virtual TClass*IsA() const
Float_tMag() const
Float_tMag2() const
TEveVector&Mult(const TEveVector& a, Float_t af)
voidNormalize(Float_t length = 1)
const Float_t*operator const Float_t*() const
Float_t*operator Float_t*()
TEveVectoroperator*(Float_t a) const
TEveVector&operator*=(Float_t s)
TEveVectoroperator+(const TEveVector&) const
TEveVector&operator+=(const TEveVector& v)
TEveVectoroperator-(const TEveVector&) const
TEveVector&operator-=(const TEveVector& v)
TEveVector&operator=(const TEveVector&)
Float_t&operator[](Int_t idx)
Float_toperator[](Int_t idx) const
TEveVectorOrthogonal() const
voidOrthoNormBase(TEveVector& a, TEveVector& b) const
Float_tPerp() const
Float_tPerp2() const
Float_tPhi() const
Float_tR() const
voidSet(const Float_t* v)
voidSet(const Double_t* v)
voidSet(const TVector3& v)
voidSet(const TEveVector& v)
voidSet(Float_t x, Float_t y, Float_t z)
voidSet(Double_t x, Double_t y, Double_t z)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
Float_tSquareDistance(const TEveVector& b) const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Float_tTheta() const

Data Members

Float_tfZComponents of the vector.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Dump() const
 Dump to stdout as "(x, y, z)\n".
Float_t Eta() const
 Calculate eta of the point, pretending it's a momentum vector.
void Normalize(Float_t length = 1)
 Normalize the vector to length if current length is non-zero.
TEveVector Orthogonal() const
 Returns an orthogonal vector (not normalized).
void OrthoNormBase(TEveVector& a, TEveVector& b) const
 Set vectors a and b to be normal to this and among themselves,
 both of length 1.
Float_t Phi() const
{ return fX == 0.0 && fY == 0.0 ? 0.0 : TMath::ATan2(fY, fX); }
Float_t Theta() const
{ return fX == 0.0 && fY == 0.0 && fZ == 0.0 ? 0.0 : TMath::ATan2(Perp(), fZ); }
Float_t CosTheta() const
{ Float_t ptot = Mag(); return ptot == 0.0 ? 1.0 : fZ/ptot; }
Float_t Distance(const TEveVector& b) const
Float_t SquareDistance(const TEveVector& b) const
Float_t Dot(const TEveVector& a) const
TEveVector(const Float_t* v)
TEveVector(const Double_t* v)
TEveVector(Float_t x, Float_t y, Float_t z)
virtual ~TEveVector()
operator const Float_t*() const
{ return &fX; }
const Float_t* Arr()
{ return &fX; }
Float_t* Arr()
{ return &fX; }
void Set(const Float_t* v)
{ fX = v[0]; fY = v[1]; fZ = v[2]; }
void Set(const Double_t* v)
{ fX = v[0]; fY = v[1]; fZ = v[2]; }
void Set(Float_t x, Float_t y, Float_t z)
{ fX = x; fY = y; fZ = z; }
void Set(Double_t x, Double_t y, Double_t z)
{ fX = x; fY = y; fZ = z; }
void Set(const TVector3& v)
{ fX = v.x(); fY = v.y(); fZ = v.z(); }
void Set(const TEveVector& v)
{ fX = v.fX; fY = v.fY; fZ = v.fZ; }
void NegateXYZ()
{ fX = - fX; fY = -fY; fZ = -fZ; }
Float_t Mag() const
{ return TMath::Sqrt(fX*fX + fY*fY + fZ*fZ);}
Float_t Mag2() const
{ return fX*fX + fY*fY + fZ*fZ;}
Float_t Perp() const
{ return TMath::Sqrt(fX*fX + fY*fY);}
Float_t Perp2() const
{ return fX*fX + fY*fY;}
Float_t R() const
{ return Perp(); }
TEveVector& Mult(const TEveVector& a, Float_t af)
{ fX = a.fX*af; fY = a.fY*af; fZ = a.fZ*af; return *this; }
TEveVector(Float_t x, Float_t y, Float_t z)
TEveMCTrack& operator=(const TEveVector& )
{ *((TParticle*)this) = p; return *this; }