HGeomVector
class description - source file - inheritance tree (.pdf)
protected:
void round(Double_t d, Int_t n)
public:
HGeomVector(Double_t dx = 0, Double_t dy = 0, Double_t dz = 0)
HGeomVector(const HGeomVector& v)
HGeomVector operator-() const
HGeomVector operator+(const HGeomVector& v) const
HGeomVector operator-(const HGeomVector& v) const
HGeomVector vectorProduct(const HGeomVector& v) const
~HGeomVector()
HGeomVector& abs()
static TClass* Class()
void clear()
Double_t getX() const
Double_t getY() const
Double_t getZ() const
virtual TClass* IsA() const
Double_t length() const
Bool_t operator!=(const HGeomVector& v) const
Double_t operator()(const Int_t i) const
HGeomVector& operator*=(const Double_t a)
HGeomVector& operator+=(const Double_t a)
HGeomVector& operator+=(const HGeomVector& v)
HGeomVector& operator-=(const Double_t a)
HGeomVector& operator-=(const HGeomVector& v)
HGeomVector& operator/=(const Double_t a)
Bool_t operator<(const Double_t a)
Bool_t operator<=(const Double_t a)
HGeomVector& operator=(const HGeomVector& v)
Bool_t operator==(const HGeomVector& v) const
Bool_t operator>(const Double_t a)
Bool_t operator>=(const Double_t a)
void print() const
void round(Int_t n)
Double_t scalarProduct(const HGeomVector& v) const
void setVector(const Double_t* a)
void setVector(const Float_t* a)
void setX(const Double_t a)
void setXYZ(const Double_t xx, const Double_t yy, const Double_t zz)
void setY(const Double_t a)
void setZ(const Double_t a)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Double_t& X()
Double_t& Y()
Double_t& Z()
protected:
Double_t x
Double_t y
Double_t z
HGeomVector
This class defines a vector with 3 Double_t components.
Instantiations of this class are e.g geometry points and
translation vectors in the geometry transformations.
All functions and operators are defined inline.
Constructors:
HGeomVector(Double_t dx=0,Double_t dy=0,Double_t dz=0)
HGeomVector(const HGeomVector& v)
Access to the components:
void setVector(const Double_t* a);
void setX(const Double_t a)
void setY(const Double_t a)
void setZ(const Double_t a)
Double_t getX() const
Double_t getY() const
Double_t getZ() const
Double_t operator() (const Int_t i) const;
Check for the size of all components:
Bool_t operator < (const Double_t a)
Bool_t operator <= (const Double_t a)
Bool_t operator > (const Double_t a)
Bool_t operator >= (const Double_t a)
Check for equality/inequality;
Bool_t operator == (const HGeomVector& v) const
Bool_t operator != (const HGeomVector& v) const
Addition/Substraction of a vector;
HGeomVector& operator += (const Double_t a)
HGeomVector& operator -= (const Double_t a)
Addition/Substraction of two vectors;
HGeomVector operator + (const HGeomVector& v) const
HGeomVector operator - (const HGeomVector& v) const
Multiplication/Division of each components with/by a factor
HGeomVector& operator *= (const Double_t a)
HGeomVector& operator /= (const Double_t a)
HGeomVector operator - () const
changes the sign of all components
HGeomVector& operator = (const HGeomVector& v)
assignment
HGeomVector& abs()
builds absolute value of each components
Double_t scalarProduct(const HGeomVector& v) const;
returns the scalar product
HGeomVector vectorProduct(const HGeomVector& v) const;
returns the vector product
Double_t length() const {return sqrt(x*x+y*y+z*z);}
returns the length
void clear()
sets all components to 0.0
void print()
prints the components
void round(Int_t n)
rounds all components to a precision with n digits
friend ostream& operator << (ostream& put,const HGeomVector& v);
output to stream
friend istream& operator >> (istream& get,HGeomVector& v);
input from stream
Inline Functions
void ~HGeomVector()
void round(Double_t d, Int_t n)
HGeomVector HGeomVector(Double_t dx = 0, Double_t dy = 0, Double_t dz = 0)
HGeomVector HGeomVector(const HGeomVector& v)
Double_t& X()
Double_t& Y()
Double_t& Z()
Double_t getX() const
Double_t getY() const
Double_t getZ() const
void setXYZ(const Double_t xx, const Double_t yy, const Double_t zz)
void setX(const Double_t a)
void setY(const Double_t a)
void setZ(const Double_t a)
void setVector(const Double_t* a)
void setVector(const Float_t* a)
Double_t operator()(const Int_t i) const
HGeomVector operator-() const
HGeomVector& operator=(const HGeomVector& v)
Bool_t operator==(const HGeomVector& v) const
Bool_t operator!=(const HGeomVector& v) const
Bool_t operator<(const Double_t a)
Bool_t operator<=(const Double_t a)
Bool_t operator>(const Double_t a)
Bool_t operator>=(const Double_t a)
HGeomVector& operator+=(const Double_t a)
HGeomVector& operator-=(const Double_t a)
HGeomVector& operator*=(const Double_t a)
HGeomVector& operator/=(const Double_t a)
HGeomVector& operator+=(const HGeomVector& v)
HGeomVector& operator-=(const HGeomVector& v)
HGeomVector operator+(const HGeomVector& v) const
HGeomVector operator-(const HGeomVector& v) const
HGeomVector& abs()
Double_t scalarProduct(const HGeomVector& v) const
HGeomVector vectorProduct(const HGeomVector& v) const
Double_t length() const
void clear()
void print() const
void round(Int_t n)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Last update: 16/06/99
ROOT page - Class index - Class Hierarchy - Top of the page
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.