class ROOT::Math::CylindricalEta3D<double>


Class describing a cylindrical coordinate system based on eta (pseudorapidity) instead of z.
The base coordinates are rho (transverse component) , eta and phi
Phi is restricted to be in the range [-PI,PI)

@ingroup GenVector

Function Members (Methods)

public:
~CylindricalEta3D<double>()
ROOT::Math::CylindricalEta3D<double>CylindricalEta3D<double>()
ROOT::Math::CylindricalEta3D<double>CylindricalEta3D<double>(const ROOT::Math::CylindricalEta3D<double>& v)
ROOT::Math::CylindricalEta3D<double>CylindricalEta3D<double>(ROOT::Math::CylindricalEta3D<double>::Scalar rho, ROOT::Math::CylindricalEta3D<double>::Scalar eta, ROOT::Math::CylindricalEta3D<double>::Scalar phi)
doubleEta() const
voidGetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar* dest) const
voidGetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar& rho, ROOT::Math::CylindricalEta3D<double>::Scalar& eta, ROOT::Math::CylindricalEta3D<double>::Scalar& phi) const
doubleMag2() const
voidNegate()
booloperator!=(const ROOT::Math::CylindricalEta3D<double>& rhs) const
ROOT::Math::CylindricalEta3D<double>&operator=(const ROOT::Math::CylindricalEta3D<double>& v)
booloperator==(const ROOT::Math::CylindricalEta3D<double>& rhs) const
doublePerp2() const
doublePhi() const
doubleR() const
doubleRho() const
voidScale(double a)
voidSetCoordinates(const ROOT::Math::CylindricalEta3D<double>::Scalar* src)
voidSetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar rho, ROOT::Math::CylindricalEta3D<double>::Scalar eta, ROOT::Math::CylindricalEta3D<double>::Scalar phi)
voidSetEta(double eta)
voidSetPhi(double phi)
voidSetR(ROOT::Math::CylindricalEta3D<double>::Scalar r)
voidSetRho(double rho)
voidSetTheta(ROOT::Math::CylindricalEta3D<double>::Scalar theta)
voidSetX(ROOT::Math::CylindricalEta3D<double>::Scalar x)
voidSetXYZ(ROOT::Math::CylindricalEta3D<double>::Scalar x, ROOT::Math::CylindricalEta3D<double>::Scalar y, ROOT::Math::CylindricalEta3D<double>::Scalar z)
voidSetY(ROOT::Math::CylindricalEta3D<double>::Scalar y)
voidSetZ(ROOT::Math::CylindricalEta3D<double>::Scalar z)
doubleTheta() const
doubleX() const
doublex() const
doubleY() const
doubley() const
doubleZ() const
doublez() const
private:
static doublepi()
voidRestrict()

Data Members

private:
doublefEta
doublefPhi
doublefRho

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

CylindricalEta3D & operator=(const ROOT::Math::CylindricalEta3D<double>& v)
assignment operator

void SetCoordinates(const ROOT::Math::CylindricalEta3D<double>::Scalar* src)
Set internal data based on an array of 3 Scalar numbers

{ fRho=src[0]; fEta=src[1]; fPhi=src[2]; Restrict(); }
void GetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar* dest) const
get internal data into an array of 3 Scalar numbers

{ dest[0] = fRho; dest[1] = fEta; dest[2] = fPhi; }
void SetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar rho, ROOT::Math::CylindricalEta3D<double>::Scalar eta, ROOT::Math::CylindricalEta3D<double>::Scalar phi)
Set internal data based on 3 Scalar numbers

{ fRho=rho; fEta=eta; fPhi=phi; Restrict(); }
void GetCoordinates(ROOT::Math::CylindricalEta3D<double>::Scalar& rho, ROOT::Math::CylindricalEta3D<double>::Scalar& eta, ROOT::Math::CylindricalEta3D<double>::Scalar& phi) const
get internal data into 3 Scalar numbers

{rho=fRho; eta=fEta; phi=fPhi;}
double pi()
{ return M_PI; }
void Restrict()
T Rho()
 accessors
{ return fRho; }
T Eta()
{ return fEta; }
T Phi()
{ return fPhi; }
T X()
{ return fRho*std::cos(fPhi); }
T Y()
{ return fRho*std::sin(fPhi); }
T Z()
T R()
T Mag2()
{ return R()*R(); }
T Perp2()
{ return fRho*fRho; }
T Theta()
void SetRho(double rho)
 setters (only for data members)

set the rho coordinate value keeping eta and phi constant

void SetEta(double eta)
set the eta coordinate value keeping rho and phi constant

void SetPhi(double phi)
set the phi coordinate value keeping rho and eta constant

void SetXYZ(ROOT::Math::CylindricalEta3D<double>::Scalar x, ROOT::Math::CylindricalEta3D<double>::Scalar y, ROOT::Math::CylindricalEta3D<double>::Scalar z)
 all values using cartesian coordina

void Scale(double a)
scale by a scalar quantity a --
for cylindrical eta coords, as long as a >= 0, only rho changes!

Negate()
bool operator==(const ROOT::Math::CylindricalEta3D<double>& rhs) const
Exact component-by-component equality
Note: Peculiar representaions of the zero vector such as (0,1,0) will
not test as equal to one another.

bool operator!=(const ROOT::Math::CylindricalEta3D<double>& rhs) const
{return !(operator==(rhs));}
T x()
 ============= Compatibility section ==================
 The following make this coordinate system look enough like a CLHEP
 vector that an assignment member template can work with either
{ return X();}
T y()
{ return Y();}
T z()
{ return Z(); }
void SetX(ROOT::Math::CylindricalEta3D<double>::Scalar x)
 ============= Specializations for improved speed ==================
 (none)
 ====== Set member functions for coordinates in other systems =======
void SetY(ROOT::Math::CylindricalEta3D<double>::Scalar y)
void SetZ(ROOT::Math::CylindricalEta3D<double>::Scalar z)
void SetR(ROOT::Math::CylindricalEta3D<double>::Scalar r)
void SetTheta(ROOT::Math::CylindricalEta3D<double>::Scalar theta)

Last update: root/mathcore:$Id: CylindricalEta3D.h 21503 2007-12-19 17:34:54Z moneta $
Copyright (c) 2005 , LCG ROOT MathLib Team and *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.