Hydra
4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
|
Histogram. More...
Data Structures | |
class | hydra::DenseHistogram< T, N, BACKEND, typename, typename > |
class | hydra::DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > |
Class representing one-dimensional dense histogram. More... | |
class | hydra::DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > |
Class representing multidimensional dense histograms. More... | |
class | hydra::SparseHistogram< T, N, BACKEND, typename, typename > |
class | hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > |
Class representing one-dimensional sparse histogram. More... | |
class | hydra::SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > |
Class representing multidimensional sparse histogram. More... | |
Functions | |
template<typename T , typename Iterator , size_t N, hydra::detail::Backend BACKEND> | |
DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N >const &grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits, Iterator first, Iterator end) |
Function to make a N-dimensional dense histogram. More... | |
template<typename T , size_t N, hydra::detail::Backend BACKEND, typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > >::type | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N > const &grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits, Iterable &&data) |
Function to make a N-dimensional dense histogram. More... | |
template<typename T , size_t N, hydra::detail::Backend BACKEND, typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > >::type | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N > const &grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits, Iterable1 &&data, Iterable2 &&weight) |
Function to make a N-dimensional dense histogram. More... | |
template<typename T , typename Iterator , hydra::detail::Backend BACKEND> | |
DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimit, double upperlimit, Iterator first, Iterator end) |
Function to make a 1-dimensional dense histogram. More... | |
template<typename T , typename Iterator1 , typename Iterator2 , hydra::detail::Backend BACKEND> | |
DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimit, double upperlimit, Iterator1 first, Iterator1 end, Iterator2 wfirst) |
Function to make a 1-dimensional dense histogram. More... | |
template<typename T , hydra::detail::Backend BACKEND, typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > >::type | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimits, double upperlimits, Iterable &&data) |
Function to make a N-dimensional dense histogram. More... | |
template<typename T , hydra::detail::Backend BACKEND, typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > >::type | hydra::make_dense_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimits, double upperlimits, Iterable1 &&data, Iterable2 &&weight) |
Function to make a N-dimensional dense histogram. More... | |
template<typename T , typename Iterator , size_t N, hydra::detail::Backend BACKEND> | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N > grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits, Iterator first, Iterator end) |
Function to make a N-dimensional sparse histogram. More... | |
template<typename T , typename Iterator1 , typename Iterator2 , size_t N, hydra::detail::Backend BACKEND> | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND >, std::array< size_t, N > grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits, Iterator1 first, Iterator1 end, Iterator2 wfirst) |
Function to make a N-dimensional sparse histogram. More... | |
template<typename T , typename Iterator1 , typename Iterator2 , hydra::detail::Backend BACKEND> | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND >, size_t nbins, double lowerlimit, double upperlimit, Iterator1 first, Iterator1 end, Iterator2 wfirst) |
Function to make a 1-dimensional sparse histogram. More... | |
template<typename T , hydra::detail::Backend BACKEND, typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > >::type | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimit, double upperlimit, Iterable &&data) |
Function to make a 1-dimensional sparse histogram. More... | |
template<typename T , hydra::detail::Backend BACKEND, typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > >::type | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimit, double upperlimit, Iterable1 &&data, Iterable2 &&weights) |
Function to make a 1-dimensional sparse histogram. More... | |
template<typename T , size_t N, hydra::detail::Backend BACKEND, typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > >::type | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N >const &grid, std::array< double, N >const &lowerlimits, std::array< double, N >const &upperlimits, Iterable &&data) |
Function to make a N-dimensional sparse histogram. More... | |
template<typename T , size_t N, hydra::detail::Backend BACKEND, typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > >::type | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, std::array< size_t, N >const &grid, std::array< double, N >const &lowerlimits, std::array< double, N >const &upperlimits, Iterable1 &&data, Iterable2 &&weights) |
Function to make a N-dimensional sparse histogram. More... | |
template<typename T , typename Iterator , hydra::detail::Backend BACKEND> | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::multidimensional > | hydra::make_sparse_histogram (detail::BackendPolicy< BACKEND > backend, size_t nbins, double lowerlimit, double upperlimit, Iterator first, Iterator end) |
Function to make a 1-dimensional sparse histogram. More... | |
Histogram.
class hydra::DenseHistogram |
class hydra::DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > |
Class representing one-dimensional dense histogram.
Public Member Functions | |
DenseHistogram ()=delete | |
DenseHistogram (size_t grid, double lowerlimits, double upperlimits) | |
DenseHistogram (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > const &other) | |
DenseHistogram (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > &&other) | |
template<hydra::detail::Backend BACKEND2> | |
DenseHistogram (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND2 >, detail::unidimensional > const &other) | |
iterator | begin () |
const_iterator | begin () const |
pointer | data () |
iterator | end () |
const_iterator | end () const |
template<typename Iterator > | |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (Iterator begin, Iterator end) |
template<typename Iterator1 , typename Iterator2 > | |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > &>::type | Fill (Iterable &&container) |
template<typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > &>::type | Fill (Iterable1 &&container, Iterable2 &&wbegin) |
template<hydra::detail::Backend BACKEND2, typename Iterator > | |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator begin, Iterator end) |
template<hydra::detail::Backend BACKEND2, typename Iterator1 , typename Iterator2 > | |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
double | GetBinContent (size_t i) |
Range< hydra::thrust::transform_iterator< detail::GetBinCenter< T, 1 >, hydra::thrust::counting_iterator< size_t > > > | GetBinsCenters () const |
Range< const_iterator > | GetBinsContents () const |
Range< iterator > | GetBinsContents () |
const storage_t & | GetContents () const |
size_t | GetGrid () const |
T | GetLowerLimits () const |
size_t | GetNBins () const |
T | GetUpperLimits () const |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | operator= (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > const &other) |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | operator= (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > &&other) |
template<hydra::detail::Backend BACKEND2> | |
DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional > & | operator= (DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND2 >, detail::unidimensional > const &other) |
reference | operator[] (size_t i) |
value_type | operator[] (size_t i) const |
void | SetContents (storage_t histogram) |
size_t | size () const |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
DenseHistogram<T,1, hydra::detail::BackendPolicy<BACKEND>, detail::unidimensional>& hydra::DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | Iterator | begin, |
Iterator | end | ||
) |
DenseHistogram<T,1, hydra::detail::BackendPolicy<BACKEND>, detail::unidimensional>& hydra::DenseHistogram< T, 1, hydra::detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | Iterator1 | begin, |
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
class hydra::DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > |
Class representing multidimensional dense histograms.
T | type of data to histogram |
N | number of dimensions |
BACKEND | memory space where histogram is allocated |
Public Member Functions | |
DenseHistogram ()=delete | |
DenseHistogram (std::array< size_t, N > grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits) | |
DenseHistogram (size_t(&grid)[N], double(&lowerlimits)[N], double(&upperlimits)[N]) | |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
DenseHistogram (std::array< Int, N > grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits) | |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
DenseHistogram (Int(&grid)[N], double(&lowerlimits)[N], double(&upperlimits)[N]) | |
DenseHistogram (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > const &other) | |
DenseHistogram (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > &&other) | |
template<hydra::detail::Backend BACKEND2> | |
DenseHistogram (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND2 >, detail::multidimensional > const &other) | |
iterator | begin () |
const_iterator | begin () const |
pointer | data () |
iterator | end () |
const_iterator | end () const |
template<typename Iterator1, typename Iterator2 > | |
DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<hydra::detail::Backend BACKEND2, typename Iterator1 , typename Iterator2 > | |
DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Iterator > | |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (Iterator begin, Iterator end) |
template<typename Iterator1 , typename Iterator2 > | |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & >::type | Fill (Iterable &container) |
template<typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > &>::type | Fill (Iterable1 &container, Iterable2 &wbegin) |
template<hydra::detail::Backend BACKEND2, typename Iterator > | |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator begin, Iterator end) |
template<hydra::detail::Backend BACKEND2, typename Iterator1 , typename Iterator2 > | |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
size_t | GetBin (size_t(&bins)[N]) |
size_t | GetBin (std::array< size_t, N > const &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
size_t | GetBin (Int(&bins)[N]) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
size_t | GetBin (std::array< Int, N > const &bins) |
double | GetBinContent (size_t(&bins)[N]) |
double | GetBinContent (std::array< size_t, N > const &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
double | GetBinContent (Int(&bins)[N]) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
double | GetBinContent (std::array< Int, N > const &bins) |
double | GetBinContent (size_t bin) |
template<unsigned int I> | |
Range< hydra::thrust::transform_iterator< detail::GetAxisBinCenter< T, N, I >, hydra::thrust::counting_iterator< size_t > > > | GetBinsCenters (placeholders::placeholder< I >) |
Range< hydra::thrust::transform_iterator< detail::GetBinCenter< T, N >, hydra::thrust::counting_iterator< size_t > > > | GetBinsCenters () |
Range< const_iterator > | GetBinsContents () const |
Range< iterator > | GetBinsContents () |
const storage_t & | GetContents () const |
size_t | GetGrid (size_t i) const |
void | GetIndexes (size_t globalbin, size_t(&bins)[N]) |
void | GetIndexes (size_t globalbin, std::array< size_t, N > &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
void | GetIndexes (size_t globalbin, Int(&bins)[N]) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
void | GetIndexes (size_t globalbin, std::array< Int, N > &bins) |
T | GetLowerLimits (size_t i) const |
size_t | GetNBins () const |
T | GetUpperLimits (size_t i) const |
template<size_t M = N> | |
std::enable_if< M==2, T >::type | Interpolate (std::array< size_t, 2 > const &point) |
template<size_t M = N> | |
std::enable_if< M==3, T >::type | Interpolate (std::array< size_t, 3 > const &point) |
template<size_t M = N> | |
std::enable_if< M==4, T >::type | Interpolate (std::array< size_t, 4 > const &point) |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | operator= (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > const &other) |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | operator= (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > &&other) |
template<hydra::detail::Backend BACKEND2> | |
DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND >, detail::multidimensional > & | operator= (DenseHistogram< T, N, hydra::detail::BackendPolicy< BACKEND2 >, detail::multidimensional > const &other) |
reference | operator[] (size_t i) |
value_type | operator[] (size_t i) const |
void | SetContents (storage_t histogram) |
size_t | size () const |
|
delete |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
DenseHistogram<T, N, detail::BackendPolicy<BACKEND>, detail::multidimensional>& hydra::DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional >::Fill | ( | Iterator1 | begin, |
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
DenseHistogram<T, N, detail::BackendPolicy<BACKEND>, detail::multidimensional>& hydra::DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional >::Fill | ( | detail::BackendPolicy< BACKEND2 > const & | exec_policy, |
Iterator1 | begin, | ||
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
class hydra::SparseHistogram |
class hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > |
Class representing one-dimensional sparse histogram.
Public Member Functions | |
SparseHistogram ()=delete | |
SparseHistogram (size_t grid, double lowerlimits, double upperlimits) | |
SparseHistogram (SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > const &other) | |
template<hydra::detail::Backend BACKEND2> | |
SparseHistogram (SparseHistogram< T, 1, detail::BackendPolicy< BACKEND2 >, detail::unidimensional > const &other) | |
iterator | begin () |
const_iterator | begin () const |
pointer_pair | data () |
iterator | end () |
const_iterator | end () const |
template<typename Iterator > | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (Iterator begin, Iterator end) |
template<typename Iterator1 , typename Iterator2 > | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > &>::type | Fill (Iterable &&container) |
template<typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > &>::type | Fill (Iterable1 &&container, Iterable2 &&wbegin) |
template<hydra::detail::Backend BACKEND2, typename Iterator > | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator begin, Iterator end) |
template<hydra::detail::Backend BACKEND2, typename Iterator1 , typename Iterator2 > | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
double | GetBinContent (size_t bin) |
const storage_keys_t & | GetBins () const |
Range< hydra::thrust::transform_iterator< detail::GetBinCenter< T, 1 >, keys_iterator > > | GetBinsCenters () |
Range< iterator > | GetBinsContents () |
const storage_data_t & | GetContents () const |
size_t | GetGrid () const |
T | GetLowerLimits () const |
size_t | GetNBins () const |
T | GetUpperLimits () const |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | operator= (SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > const &other) |
template<hydra::detail::Backend BACKEND2> | |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & | operator= (SparseHistogram< T, 1, detail::BackendPolicy< BACKEND2 >, detail::unidimensional > const &other) |
reference | operator[] (size_t i) |
value_type | operator[] (size_t i) const |
void | SetBins (storage_keys_t bins) |
void | SetContents (storage_data_t histogram) |
size_t | size () const |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | Iterator | begin, |
Iterator | end | ||
) |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | Iterator1 | begin, |
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
|
inline |
|
inline |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | detail::BackendPolicy< BACKEND2 > const & | exec_policy, |
Iterator | begin, | ||
Iterator | end | ||
) |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > & hydra::SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional >::Fill | ( | detail::BackendPolicy< BACKEND2 > const & | exec_policy, |
Iterator1 | begin, | ||
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
class hydra::SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > |
Class representing multidimensional sparse histogram.
Public Member Functions | |
SparseHistogram ()=delete | |
SparseHistogram (std::array< size_t, N > const &grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits) | |
SparseHistogram (size_t(&grid)[N], T(&lowerlimits)[N], T(&upperlimits)[N]) | |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
SparseHistogram (std::array< Int, N > const &grid, std::array< double, N > const &lowerlimits, std::array< double, N > const &upperlimits) | |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
SparseHistogram (Int(&grid)[N], T(&lowerlimits)[N], T(&upperlimits)[N]) | |
SparseHistogram (SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > const &other) | |
template<hydra::detail::Backend BACKEND2> | |
SparseHistogram (SparseHistogram< T, N, detail::BackendPolicy< BACKEND2 >, detail::multidimensional > const &other) | |
iterator | begin () |
const_iterator | begin () const |
pointer_pair | data () |
iterator | end () |
const_iterator | end () const |
template<typename Iterator > | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (Iterator begin, Iterator end) |
template<typename Iterator1 , typename Iterator2 > | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > &>::type | Fill (Iterable &&container) |
template<typename Iterable1 , typename Iterable2 > | |
std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value, SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > &>::type | Fill (Iterable1 &&container, Iterable2 &&wbegin) |
template<hydra::detail::Backend BACKEND2, typename Iterator > | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator begin, Iterator end) |
template<hydra::detail::Backend BACKEND2, typename Iterator1 , typename Iterator2 > | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | Fill (detail::BackendPolicy< BACKEND2 > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 wbegin) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
size_t | GetBin (Int(&bins)[N]) |
size_t | GetBin (std::array< size_t, N > const &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
size_t | GetBin (std::array< Int, N > const &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
double | GetBinContent (Int(&bins)[N]) |
double | GetBinContent (std::array< size_t, N > const &bins) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
double | GetBinContent (std::array< Int, N > const &bins) |
double | GetBinContent (size_t bin) |
const storage_keys_t & | GetBins () const |
Range< hydra::thrust::transform_iterator< detail::GetBinCenter< T, N >, keys_iterator > > | GetBinsCenters () |
template<unsigned int I> | |
Range< hydra::thrust::transform_iterator< detail::GetAxisBinCenter< double, N, I >, keys_iterator > > | GetBinsCenters (placeholders::placeholder< I >) |
Range< data_iterator > | GetBinsContents () const |
const storage_data_t & | GetContents () const |
size_t | GetGrid (size_t i) const |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
void | GetIndexes (size_t globalbin, Int(&bins)[N]) |
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type> | |
void | GetIndexes (size_t globalbin, std::array< Int, N > &bins) |
T | GetLowerLimits (size_t i) const |
size_t | GetNBins () const |
T | GetUpperLimits (size_t i) const |
template<size_t M = N> | |
std::enable_if< M==2, T >::type | Interpolate (std::array< size_t, 2 > const &point) |
template<size_t M = N> | |
std::enable_if< M==3, T >::type | Interpolate (std::array< size_t, 3 > const &point) |
template<size_t M = N> | |
std::enable_if< M==4, T >::type | Interpolate (std::array< size_t, 4 > const &point) |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | operator= (SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > const &other) |
template<hydra::detail::Backend BACKEND2> | |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & | operator= (SparseHistogram< T, N, detail::BackendPolicy< BACKEND2 >, detail::multidimensional > const &other) |
reference | operator[] (size_t i) |
value_type | operator[] (size_t i) const |
void | SetBins (storage_keys_t bins) |
void | SetContents (storage_data_t histogram) |
size_t | size () const |
|
delete |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & hydra::SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional >::Fill | ( | Iterator | begin, |
Iterator | end | ||
) |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > & hydra::SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional >::Fill | ( | Iterator1 | begin, |
Iterator1 | end, | ||
Iterator2 | wbegin | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
DenseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > hydra::make_dense_histogram | ( | detail::BackendPolicy< BACKEND > | backend, |
std::array< size_t, N >const & | grid, | ||
std::array< double, N > const & | lowerlimits, | ||
std::array< double, N > const & | upperlimits, | ||
Iterator | first, | ||
Iterator | end | ||
) |
#include <DenseHistogram.h>
Function to make a N-dimensional dense histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
first | Iterator pointing to the begin of the data range. |
end | Iterator pointing to the end of the data range. |
|
inline |
#include <DenseHistogram.h>
Function to make a N-dimensional dense histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
data | Iterable storing the data to histogram. |
|
inline |
#include <DenseHistogram.h>
Function to make a N-dimensional dense histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
data | Iterable storing the data to histogram. |
weight | Iterable storing the data to histogram. |
DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > hydra::make_dense_histogram | ( | detail::BackendPolicy< BACKEND > | backend, |
size_t | nbins, | ||
double | lowerlimit, | ||
double | upperlimit, | ||
Iterator | first, | ||
Iterator | end | ||
) |
#include <DenseHistogram.h>
Function to make a 1-dimensional dense histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
first | Iterator pointing to the begin of the data range. |
end | Iterator pointing to the end of the data range. |
DenseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > hydra::make_dense_histogram | ( | detail::BackendPolicy< BACKEND > | backend, |
size_t | nbins, | ||
double | lowerlimit, | ||
double | upperlimit, | ||
Iterator1 | first, | ||
Iterator1 | end, | ||
Iterator2 | wfirst | ||
) |
#include <DenseHistogram.h>
Function to make a 1-dimensional dense histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
first | iterator pointing to the begin of the data range. |
end | iterator pointing to the end of the data range. |
wfirst | Iterator pointing to the begin of the weights range. |
|
inline |
#include <DenseHistogram.h>
Function to make a N-dimensional dense histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
data | Iterable storing the data to histogram. |
|
inline |
#include <DenseHistogram.h>
Function to make a N-dimensional dense histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
data | Iterable storing the data to histogram. |
weight | Iterable storing the weights to data. |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > hydra::make_sparse_histogram | ( | detail::BackendPolicy< BACKEND > | backend, |
std::array< size_t, N > | grid, | ||
std::array< double, N > const & | lowerlimits, | ||
std::array< double, N > const & | upperlimits, | ||
Iterator | first, | ||
Iterator | end | ||
) |
#include <SparseHistogram.inl>
Function to make a N-dimensional sparse histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
first | Iterator pointing to the begin of the data range. |
end | Iterator pointing to the end of the data range. |
SparseHistogram< T, N, detail::BackendPolicy< BACKEND >, detail::multidimensional > hydra::make_sparse_histogram | ( | detail::BackendPolicy< BACKEND > | , |
std::array< size_t, N > | grid, | ||
std::array< double, N > const & | lowerlimits, | ||
std::array< double, N > const & | upperlimits, | ||
Iterator1 | first, | ||
Iterator1 | end, | ||
Iterator2 | wfirst | ||
) |
#include <SparseHistogram.inl>
Function to make a N-dimensional sparse histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
first | Iterator pointing to the begin of the data range. |
end | Iterator pointing to the end of the data range. |
wfirst | Iterator pointing to the begin of the weights range. |
SparseHistogram< T, 1, detail::BackendPolicy< BACKEND >, detail::unidimensional > hydra::make_sparse_histogram | ( | detail::BackendPolicy< BACKEND > | , |
size_t | nbins, | ||
double | lowerlimit, | ||
double | upperlimit, | ||
Iterator1 | first, | ||
Iterator1 | end, | ||
Iterator2 | wfirst | ||
) |
#include <SparseHistogram.inl>
Function to make a 1-dimensional sparse histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
first | iterator pointing to the begin of the data range. |
end | iterator pointing to the end of the data range. |
wfirst | Iterator pointing to the begin of the weights range. |
|
inline |
#include <SparseHistogram.inl>
Function to make a 1-dimensional sparse histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
data | Iterable storing the data to histogram. |
|
inline |
#include <SparseHistogram.inl>
Function to make a 1-dimensional sparse histogram.
backend | |
nbins | number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limit. |
data | Iterable storing the data to histogram. |
weight | Iterable storing the weights to data. |
|
inline |
#include <SparseHistogram.h>
Function to make a N-dimensional sparse histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
data | Iterable storing the data to histogram. |
|
inline |
#include <SparseHistogram.h>
Function to make a N-dimensional sparse histogram.
backend | |
grid | std::array storing the bins per dimension. |
lowerlimits | std::array storing the lower limits per dimension. |
upperlimits | std::array storing the upper limits per dimension. |
data | Iterable storing the data to histogram. |
weights | Iterable storing the weights to data. |
SparseHistogram< T, 1, detail::BackendPolicy<BACKEND>, detail::multidimensional> hydra::make_sparse_histogram | ( | detail::BackendPolicy< BACKEND > | backend, |
size_t | nbins, | ||
double | lowerlimit, | ||
double | upperlimit, | ||
Iterator | first, | ||
Iterator | end | ||
) |
#include <SparseHistogram.h>
Function to make a 1-dimensional sparse histogram.
backend | |
nbins | the number of bins. |
lowerlimit | the lower limit. |
upperlimit | the upper limits. |
first | Iterator pointing to the begin of the data range. |
end | Iterator pointing to the end of the data range. |