Hydra: SparseHistogram.h File Reference (original) (raw)
#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>
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...