Logo ROOT   6.14/05
Reference Guide
Classes | Functions
ROOT::VecOps Namespace Reference

Classes

struct  PromoteTypeImpl
 
struct  PromoteTypeImpl< double >
 
struct  PromoteTypeImpl< float >
 
struct  PromoteTypeImpl< long double >
 
class  RVec
 A "std::vector"-like collection of values implementing handy operation to analyse them. More...
 

Typedefs

RVec Standard Mathematical Functions
template<typename T >
using PromoteType = typename PromoteTypeImpl< T >::Type
 
template<typename U , typename V >
using PromoteTypes = decltype(PromoteType< U >()+PromoteType< V >())
 

Functions

template<typename T , typename V >
auto Dot (const RVec< T > &v0, const RVec< V > &v1) -> decltype(v0[0] *v1[0])
 Inner product. More...
 
template<typename T , typename F >
RVec< T > Filter (const RVec< T > &v, F &&f)
 Create a new collection with the elements passing the filter expressed by the predicate. More...
 
template<typename T , typename F >
auto Map (const RVec< T > &v, F &&f) -> RVec< decltype(f(v[0]))>
 Create new collection applying a callable to the elements of the input collection. More...
 
template<typename T >
double Mean (const RVec< T > &v)
 Get Mean. More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, const RVec< T > &v)
 Print a RVec at the prompt: More...
 
template<typename T >
double StdDev (const RVec< T > &v)
 Get standard deviation. More...
 
template<typename T >
Sum (const RVec< T > &v)
 Sum elements. More...
 
template<typename T >
void swap (RVec< T > &lhs, RVec< T > &rhs)
 
template<typename T >
double Var (const RVec< T > &v)
 Get variance. More...
 

Typedef Documentation

◆ PromoteType

template<typename T >
using ROOT::VecOps::PromoteType = typedef typename PromoteTypeImpl<T>::Type

Definition at line 452 of file RVec.hxx.

◆ PromoteTypes

template<typename U , typename V >
using ROOT::VecOps::PromoteTypes = typedef decltype(PromoteType<U>() + PromoteType<V>())

Definition at line 455 of file RVec.hxx.

Function Documentation

◆ Dot()

template<typename T , typename V >
auto ROOT::VecOps::Dot ( const RVec< T > &  v0,
const RVec< V > &  v1 
) -> decltype(v0[0] * v1[0])

Inner product.

Definition at line 582 of file RVec.hxx.

◆ Filter()

template<typename T , typename F >
RVec<T> ROOT::VecOps::Filter ( const RVec< T > &  v,
F &&  f 
)

Create a new collection with the elements passing the filter expressed by the predicate.

Definition at line 636 of file RVec.hxx.

◆ Map()

template<typename T , typename F >
auto ROOT::VecOps::Map ( const RVec< T > &  v,
F &&  f 
) -> RVec<decltype(f(v[0]))>

Create new collection applying a callable to the elements of the input collection.

Definition at line 627 of file RVec.hxx.

◆ Mean()

template<typename T >
double ROOT::VecOps::Mean ( const RVec< T > &  v)

Get Mean.

Definition at line 598 of file RVec.hxx.

◆ operator<<()

template<class T >
std::ostream& ROOT::VecOps::operator<< ( std::ostream &  os,
const RVec< T > &  v 
)

Print a RVec at the prompt:

Definition at line 657 of file RVec.hxx.

◆ StdDev()

template<typename T >
double ROOT::VecOps::StdDev ( const RVec< T > &  v)

Get standard deviation.

Definition at line 620 of file RVec.hxx.

◆ Sum()

template<typename T >
T ROOT::VecOps::Sum ( const RVec< T > &  v)

Sum elements.

Definition at line 591 of file RVec.hxx.

◆ swap()

template<typename T >
void ROOT::VecOps::swap ( RVec< T > &  lhs,
RVec< T > &  rhs 
)

Definition at line 649 of file RVec.hxx.

◆ Var()

template<typename T >
double ROOT::VecOps::Var ( const RVec< T > &  v)

Get variance.

Definition at line 606 of file RVec.hxx.