ROOT logo
AliRoot » PWGCF » FEMTOSCOPY » ALIFEMTO » AliFmThreeVector<double>

class AliFmThreeVector<double>

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

AliFemtoThreeVector

Function Members (Methods)

public:
AliFmThreeVector<double>(TRootIOCtor*)
AliFmThreeVector<double>(const AliFmThreeVector<double>&)
AliFmThreeVector<double>(double = 0, double = 0, double = 0)
virtual~AliFmThreeVector<double>()
intBad(double world = 1.e+5) const
doubleCosTheta() const
doubleMag() const
doubleMag2() const
doubleMagnitude() const
doubleMassHypothesis(double mass) const
doubleoperator()(size_t) const
double&operator()(size_t)
AliFmThreeVector<double>&operator*=(double)
AliFmThreeVector<double>operator+()
AliFmThreeVector<double>operator-()
AliFmThreeVector<double>&operator/=(double)
AliFmThreeVector<double>&operator=(const AliFmThreeVector<double>&)
doubleoperator[](size_t) const
double&operator[](size_t)
AliFmThreeVector<double>orthogonal() const
doublePerp() const
doublePerp2() const
doublePhi() const
AliFmThreeVector<double>PseudoProduct(double, double, double) const
doublePseudoRapidity() const
voidRotateX(double)
voidRotateY(double)
voidRotateZ(double)
voidSetMag(double)
voidSetMagnitude(double)
voidSetPhi(double)
voidSetTheta(double)
voidSetX(double)
voidSetY(double)
voidSetZ(double)
doubleTheta() const
AliFmThreeVector<double>unit() const
intValid(double world = 1.e+5) const
doublex() const
doubley() const
doublez() const

Data Members

protected:
doublemX1
doublemX2
doublemX3Vector components

Class Charts

Inheritance Chart:
AliFmThreeVector<double>

Function documentation

void AliFmThreeVector<T> SetX(double )
{mX1 = ax;}
void AliFmThreeVector<T> SetY(double )
{mX2 = ay;}
void AliFmThreeVector<T> SetZ(double )
{mX3 = az;}
void AliFmThreeVector<T> SetPhi(double )
void AliFmThreeVector<T> SetTheta(double )
void AliFmThreeVector<T> SetMagnitude(double )
void AliFmThreeVector<T> SetMag(double )
T AliFmThreeVector<T> x() const
{return mX1;}
T AliFmThreeVector<T> y() const
{return mX2;}
T AliFmThreeVector<T> z() const
{return mX3;}
T AliFmThreeVector<T> Theta() const
T AliFmThreeVector<T> CosTheta() const
T AliFmThreeVector<T> Phi() const
T AliFmThreeVector<T> PseudoRapidity() const
 change code to more optimal:
 double m = Mag();
 return 0.5*::log( (m+z())/(m-z()) );
AliFmThreeVector<T> AliFmThreeVector<T> unit() const
T AliFmThreeVector<T> MassHypothesis(double mass) const
AliFmThreeVector<T> AliFmThreeVector<T> orthogonal() const
 Direct copy from CLHEP--it is probably better to
 use your own dot/cross product code...
void AliFmThreeVector<T> RotateX(double )
 may in the future make use of the AliFmRotation class!
void AliFmThreeVector<T> RotateY(double )
 may in the future make use of the AliFmRotation class!
void AliFmThreeVector<T> RotateZ(double )
 may in the future make use of the AliFmRotation class!
T AliFmThreeVector<T> Perp() const
T AliFmThreeVector<T> Perp2() const
T AliFmThreeVector<T> Magnitude() const
T AliFmThreeVector<T> Mag() const
T AliFmThreeVector<T> Mag2() const
T AliFmThreeVector<T> operator()(size_t ) const
T& AliFmThreeVector<T> operator()(size_t )
T AliFmThreeVector<T> operator[](size_t ) const
T &AliFmThreeVector<T> operator[](size_t )
AliFmThreeVector<T>& AliFmThreeVector<T> operator*=(double )
AliFmThreeVector<T>& AliFmThreeVector<T> operator/=(double )
AliFmThreeVector<T> PseudoProduct(double , double , double ) const
AliFmThreeVector<T> AliFmThreeVector<T> operator-()
AliFmThreeVector<T> AliFmThreeVector<T> operator+()
AliFmThreeVector<T> operator=(const AliFmThreeVector<double>& )
AliFmThreeVector<T> Valid(double world = 1.e+5) const
{return !Bad(world);}
AliFmThreeVector<T> Bad(double world = 1.e+5) const