ROOT logo
ROOT » MATH » SMATRIX » ROOT::Math::SVector<float,4>

class ROOT::Math::SVector<float,4>


    SVector: a generic fixed size Vector class.
    The class is template on the scalar type and on the vector size D.
    See \ref SVectorDoc

    Original author is Thorsten Glebe
    HERA-B Collaboration, MPI Heidelberg (Germany)

    @ingroup SMatrixSVector

    @authors T. Glebe, L. Moneta and J. Palacios



 SVector

Function Members (Methods)

public:
~SVector<float,4>()
floatapply(unsigned int i) const
const float*Array() const
float*Array()
const float&At(unsigned int i) const
float&At(unsigned int i)
ROOT::Math::SVector<float,4>::iteratorbegin()
ROOT::Math::SVector<float,4>::const_iteratorbegin() const
static unsigned intDim()
ROOT::Math::SVector<float,4>::iteratorend()
ROOT::Math::SVector<float,4>::const_iteratorend() const
boolIsInUse(const float* p) const
booloperator!=(const float& rhs) const
booloperator!=(const ROOT::Math::SVector<float,4>& rhs) const
const float&operator()(unsigned int i) const
float&operator()(unsigned int i)
ROOT::Math::SVector<float,4>&operator*=(const float& rhs)
ROOT::Math::SVector<float,4>&operator+=(const float& rhs)
ROOT::Math::SVector<float,4>&operator+=(const ROOT::Math::SVector<float,4>& rhs)
ROOT::Math::SVector<float,4>&operator-=(const float& rhs)
ROOT::Math::SVector<float,4>&operator-=(const ROOT::Math::SVector<float,4>& rhs)
ROOT::Math::SVector<float,4>&operator/=(const float& rhs)
booloperator<(const float& rhs) const
booloperator<(const ROOT::Math::SVector<float,4>& rhs) const
ROOT::Math::SVector<float,4>&operator=(const float& a1)
ROOT::Math::SVector<float,4>&operator=(const ROOT::Math::SVector<float,4>&)
booloperator==(const float& rhs) const
booloperator==(const ROOT::Math::SVector<float,4>& rhs) const
booloperator>(const float& rhs) const
booloperator>(const ROOT::Math::SVector<float,4>& rhs) const
const float&operator[](unsigned int i) const
float&operator[](unsigned int i)
ostream&Print(ostream& os) const
ROOT::Math::SVector<float,4>SVector<float,4>()
ROOT::Math::SVector<float,4>SVector<float,4>(const ROOT::Math::SVector<float,4>& rhs)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1)
ROOT::Math::SVector<float,4>SVector<float,4>(const float* a, unsigned int len)
ROOT::Math::SVector<float,4>SVector<float,4>(ROOT::Math::SVector<float,4>::const_iterator begin, ROOT::Math::SVector<float,4>::const_iterator end)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5, const float& a6)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5, const float& a6, const float& a7)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5, const float& a6, const float& a7, const float& a8)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5, const float& a6, const float& a7, const float& a8, const float& a9)
ROOT::Math::SVector<float,4>SVector<float,4>(const float& a1, const float& a2, const float& a3, const float& a4, const float& a5, const float& a6, const float& a7, const float& a8, const float& a9, const float& a10)
ROOT::Math::SVector<float,4>&Unit()

Data Members

public:
enum { kSize
};
private:
floatfArray[4]

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

SVector<T,D>& operator=(const T& a1)
 assignment from a scalar (only for size 1 vector)
SVector<T,D>& operator=(const VecExpr<A,T,D>& rhs)
 assignment  from Vector Expression
unsigned int Dim()
 return dimension $D$
{ return D; }
T apply(unsigned int i) const
 access the parse tree. Index starts from zero
const T* Array() const
 return read-only pointer to internal array
T* Array()
 return non-const pointer to internal array
iterator begin()
 @name --- STL-like interface --- 
 STL iterator interface. 
iterator end()
 STL iterator interface. 
const_iterator begin() const
 STL const_iterator interface. 
const_iterator end() const
 STL const_iterator interface. 
bool operator==(const T& rhs)
 @name --- Operators --- 
 element wise comparison
bool operator!=(const T& rhs)
 element wise comparison
bool operator==(const SVector<T,D>& rhs)
 element wise comparison
bool operator!=(const SVector<T,D>& rhs)
 element wise comparison
bool operator>(const T& rhs)
 element wise comparison
bool operator<(const T& rhs)
 element wise comparison
bool operator>(const SVector<T,D>& rhs)
 element wise comparison
bool operator<(const SVector<T,D>& rhs)
 element wise comparison
const T& operator[](unsigned int i) const
 read-only access of vector elements. Index starts from 0.
const T& operator()(unsigned int i) const
 read-only access of vector elements. Index starts from 0.
const T& At(unsigned int i) const
 read-only access of vector elements with check on index. Index starts from 0.
T& operator[](unsigned int i)
 read/write access of vector elements. Index starts from 0.
T& operator()(unsigned int i)
 read/write access of vector elements. Index starts from 0.
T& At(unsigned int i)
 read/write access of vector elements with check on index. Index starts from 0.
SVector<T,D>& operator+=(const T& rhs)
 self addition with a scalar
SVector<T,D>& operator-=(const T& rhs)
 self subtraction with a scalar
SVector<T,D>& operator*=(const float& rhs)
 self multiplication with a scalar
SVector<T,D>& operator/=(const float& rhs)
 self division with a scalar
SVector<T,D>& operator+=(const SVector<T,D>& rhs)
 self addition with another vector
SVector<T,D>& operator-=(const SVector<T,D>& rhs)
 self subtraction with another vector
SVector<T,D>& Unit()
 @name --- Expert functions --- 
 transform vector into a vector of length 1
bool IsInUse(const float* p) const
       Function to check if a vector is sharing same memory location of the passed pointer
       This function is used by the expression templates to avoid the alias problem during
       expression evaluation. When  the vector is in use, for example in operations
       like V = M * V, where M is a mtrix, a temporary object storing the intermediate result is automatically
       created when evaluating the expression.


std::ostream& Print(ostream& os) const
 used by operator<<()