Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
SparseHistogram.h File Reference
#include <hydra/detail/Config.h>
#include <hydra/detail/BackendPolicy.h>
#include <hydra/Types.h>
#include <hydra/detail/Dimensionality.h>
#include <hydra/detail/functors/GetBinCenter.h>
#include <hydra/Range.h>
#include <hydra/Algorithm.h>
#include <type_traits>
#include <utility>
#include <array>
#include <hydra/detail/external/hydra_thrust/iterator/iterator_traits.h>
#include <hydra/detail/external/hydra_thrust/iterator/zip_iterator.h>
#include <hydra/detail/external/hydra_thrust/find.h>
#include <hydra/detail/SparseHistogram.inl>
Include dependency graph for SparseHistogram.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

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...
 

Namespaces

 hydra
 Generic policies definition.
 

Functions

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...