Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamtree::MortonReducedSet< Tmorton, Tvec, dim > Class Template Reference

Class representing a set of Morton codes with associated bounding box and position data that was reduced. More...

#include <shamtree/include/shamtree/MortonReducedSet.hpp>

Collaboration diagram for shamtree::MortonReducedSet< Tmorton, Tvec, dim >:

Public Member Functions

 MortonReducedSet (MortonCodeSortedSet< Tmorton, Tvec > &&morton_codes_set, u32 reduce_code_count, sham::DeviceBuffer< u32 > &&buf_reduc_index_map, sham::DeviceBuffer< Tmorton > &&reduced_morton_codes)
 Move constructor from each members.
bool is_empty () const
LeafCellIterator get_leaf_cell_iterator () const
LeafCellIteratorHost get_leaf_cell_iterator_host () const
CellIterator get_cell_iterator (const sham::DeviceBuffer< u32 > &buf_endrange, u32 offset_leaf) const
CellIteratorHost get_cell_iterator_host (const sham::DeviceBuffer< u32 > &buf_endrange, u32 offset_leaf) const

Static Public Member Functions

static MortonReducedSet make_empty (sham::DeviceScheduler_ptr dev_sched)

Public Attributes

MortonCodeSortedSet< Tmorton, Tvec > morton_codes_set
 The source Morton codes set.
u32 reduce_code_count
 The count of Morton codes in the reduced set This was called tree_leaf_count.
sham::DeviceBuffer< u32buf_reduc_index_map
sham::DeviceBuffer< Tmorton > reduced_morton_codes

Detailed Description

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
class shamtree::MortonReducedSet< Tmorton, Tvec, dim >

Class representing a set of Morton codes with associated bounding box and position data that was reduced.

Template Parameters
TmortonThe type used for Morton codes
TvecThe vector type representing positions
dimThe dimensionality, inferred from Tvec if not provided

Definition at line 33 of file MortonReducedSet.hpp.

Constructor & Destructor Documentation

◆ MortonReducedSet()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
shamtree::MortonReducedSet< Tmorton, Tvec, dim >::MortonReducedSet ( MortonCodeSortedSet< Tmorton, Tvec > && morton_codes_set,
u32 reduce_code_count,
sham::DeviceBuffer< u32 > && buf_reduc_index_map,
sham::DeviceBuffer< Tmorton > && reduced_morton_codes )
inline

Move constructor from each members.

Definition at line 53 of file MortonReducedSet.hpp.

Member Function Documentation

◆ get_cell_iterator()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
CellIterator shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_cell_iterator ( const sham::DeviceBuffer< u32 > & buf_endrange,
u32 offset_leaf ) const
inline

Definition at line 74 of file MortonReducedSet.hpp.

◆ get_cell_iterator_host()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
CellIteratorHost shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_cell_iterator_host ( const sham::DeviceBuffer< u32 > & buf_endrange,
u32 offset_leaf ) const
inline

Definition at line 83 of file MortonReducedSet.hpp.

◆ get_leaf_cell_iterator()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
LeafCellIterator shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_leaf_cell_iterator ( ) const
inline

Definition at line 64 of file MortonReducedSet.hpp.

◆ get_leaf_cell_iterator_host()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
LeafCellIteratorHost shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_leaf_cell_iterator_host ( ) const
inline

Definition at line 68 of file MortonReducedSet.hpp.

◆ is_empty()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
bool shamtree::MortonReducedSet< Tmorton, Tvec, dim >::is_empty ( ) const
inline

Definition at line 62 of file MortonReducedSet.hpp.

◆ make_empty()

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
MortonReducedSet shamtree::MortonReducedSet< Tmorton, Tvec, dim >::make_empty ( sham::DeviceScheduler_ptr dev_sched)
inlinestatic

Definition at line 92 of file MortonReducedSet.hpp.

Member Data Documentation

◆ buf_reduc_index_map

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
sham::DeviceBuffer<u32> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::buf_reduc_index_map

Indexes of the morton codes in the reduced set This was called buf_reduc_index_map

Definition at line 46 of file MortonReducedSet.hpp.

◆ morton_codes_set

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
MortonCodeSortedSet<Tmorton, Tvec> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::morton_codes_set

The source Morton codes set.

Definition at line 36 of file MortonReducedSet.hpp.

◆ reduce_code_count

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
u32 shamtree::MortonReducedSet< Tmorton, Tvec, dim >::reduce_code_count

The count of Morton codes in the reduced set This was called tree_leaf_count.

Definition at line 42 of file MortonReducedSet.hpp.

◆ reduced_morton_codes

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
sham::DeviceBuffer<Tmorton> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::reduced_morton_codes

The reduced Morton codes This was called buf_tree_morton

Definition at line 50 of file MortonReducedSet.hpp.


The documentation for this class was generated from the following file: