|
ROOT 6.14/05 Reference Guide |
#include <ROOT/RAdoptAllocator.hxx>#include <ROOT/TypeTraits.hxx>#include <algorithm>#include <cmath>#include <numeric>#include <sstream>#include <stdexcept>#include <vector>#include <utility>Classes | |
| struct | ROOT::VecOps::PromoteTypeImpl< T > |
| struct | ROOT::VecOps::PromoteTypeImpl< T > |
| struct | ROOT::VecOps::PromoteTypeImpl< double > |
| struct | ROOT::VecOps::PromoteTypeImpl< float > |
| struct | ROOT::VecOps::PromoteTypeImpl< long double > |
| class | ROOT::VecOps::RVec< T > |
| A "std::vector"-like collection of values implementing handy operation to analyse them. More... | |
Namespaces | |
| ROOT | |
| Namespace for new ROOT classes and functions. | |
| ROOT::VecOps | |
Macros | |
| #define | _VECOPS_USE_EXTERN_TEMPLATES true |
RVec Unary Arithmetic Operators | |
| #define | TVEC_UNARY_OPERATOR(OP) |
RVec Binary Arithmetic Operators | |
| #define | ERROR_MESSAGE(OP) "Cannot call operator " #OP " on vectors of different sizes." |
| #define | TVEC_BINARY_OPERATOR(OP) |
RVec Assignment Arithmetic Operators | |
| #define | TVEC_ASSIGNMENT_OPERATOR(OP) |
RVec Comparison and Logical Operators | |
| #define | TVEC_LOGICAL_OPERATOR(OP) |
Functions | |
| template<typename T , typename V > | |
| auto | ROOT::VecOps::Dot (const RVec< T > &v0, const RVec< V > &v1) -> decltype(v0[0] *v1[0]) |
| Inner product. More... | |
| 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. More... | |
| 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. More... | |
| template<typename T > | |
| double | ROOT::VecOps::Mean (const RVec< T > &v) |
| Get Mean. More... | |
| template<class T > | |
| std::ostream & | ROOT::VecOps::operator<< (std::ostream &os, const RVec< T > &v) |
| Print a RVec at the prompt: More... | |
| template<typename T > | |
| double | ROOT::VecOps::StdDev (const RVec< T > &v) |
| Get standard deviation. More... | |
| template<typename T > | |
| T | ROOT::VecOps::Sum (const RVec< T > &v) |
| Sum elements. More... | |
| template<typename T > | |
| void | ROOT::VecOps::swap (RVec< T > &lhs, RVec< T > &rhs) |
| template<typename T > | |
| double | ROOT::VecOps::Var (const RVec< T > &v) |
| Get variance. More... | |
RVec Standard Mathematical Functions | |
| #define | TVEC_UNARY_FUNCTION(NAME, FUNC) |
| #define | TVEC_BINARY_FUNCTION(NAME, FUNC) |
| #define | TVEC_STD_UNARY_FUNCTION(F) TVEC_UNARY_FUNCTION(F, std::F) |
| #define | TVEC_STD_BINARY_FUNCTION(F) TVEC_BINARY_FUNCTION(F, std::F) |
| template<typename T > | |
| using | ROOT::VecOps::PromoteType = typename PromoteTypeImpl< T >::Type |
| template<typename U , typename V > | |
| using | ROOT::VecOps::PromoteTypes = decltype(PromoteType< U >()+PromoteType< V >()) |
| #define ERROR_MESSAGE | ( | OP | ) | "Cannot call operator " #OP " on vectors of different sizes." |
| #define TVEC_ASSIGNMENT_OPERATOR | ( | OP | ) |
| #define TVEC_BINARY_FUNCTION | ( | NAME, | |
| FUNC | |||
| ) |
| #define TVEC_STD_BINARY_FUNCTION | ( | F | ) | TVEC_BINARY_FUNCTION(F, std::F) |
| #define TVEC_STD_UNARY_FUNCTION | ( | F | ) | TVEC_UNARY_FUNCTION(F, std::F) |
| #define TVEC_UNARY_FUNCTION | ( | NAME, | |
| FUNC | |||
| ) |