ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::concepts::grid Concept Reference

Concept definition

template<typename G>
concept detray::concepts::grid = viewable<G> && bufferable<G> && requires(const G g) {
typename G::bin_type;
typename G::value_type;
typename G::glob_bin_index;
typename G::loc_bin_index;
typename G::local_frame_type;
typename G::algebra_type;
typename G::point_type;
G::dim;
G::is_owning;
{ g.get_local_frame() } -> std::same_as<typename G::local_frame_type>;
{ g.template get_axis<0>() } -> concepts::axis;
{ g.nbins() } -> std::same_as<dindex>;
{ g.size() } -> std::same_as<dindex>;
{
g.deserialize(typename G::glob_bin_index())
} -> std::same_as<typename G::loc_bin_index>;
{
g.serialize(typename G::loc_bin_index())
} -> std::same_as<typename G::glob_bin_index>;
{ g.bins() } -> detray::ranges::range_of<typename G::bin_type>;
{
g.bin(typename G::glob_bin_index())
} -> concepts::same_as_cvref<typename G::bin_type>;
{
g.bin(typename G::loc_bin_index())
} -> concepts::same_as_cvref<typename G::bin_type>;
{
g.at(typename G::loc_bin_index(), dindex())
} -> concepts::same_as_cvref<typename G::value_type>;
{
g.at(typename G::glob_bin_index(), dindex())
} -> concepts::same_as_cvref<typename G::value_type>;
}
Definition concepts.hpp:27
Definition concepts.hpp:64
constexpr double g
Gram in GeV/c²
Definition Units.hpp:161
unsigned int dindex
Default index type.
Definition indexing.hpp:18