Belle II Software  release-08-01-10
LinearDivision< ABox, divisions > Class Template Reference

Factory object that constructs sub boxes from a given box with optional overlaps. More...

#include <LinearDivision.h>

Public Member Functions

 LinearDivision (const typename ABox::Delta &overlaps=typename ABox::Delta())
 Initialise the sub box factory with specific overlaps.
 
std::array< ABox, s_nSubBoxesoperator() (const ABox &box)
 Factory method to construct the subboxes with overlap from the given box.
 
template<std::size_t... Is>
std::array< ABox, s_nSubBoxesmakeSubBoxes (const ABox &box, std::index_sequence< Is... >)
 Make all subboxs with overlap of the given box.
 
template<std::size_t... Is>
ABox makeSubBox (const ABox &box, std::size_t globalISubBox, std::index_sequence< Is... >)
 Make the subbox with overlaps of the given box at global index.
 

Static Public Attributes

static const std::size_t s_nSubBoxes = Product<divisions...>::value
 Number of sub boxes produced by this factory facility.
 

Private Attributes

ABox::Delta m_overlaps
 Custom overlaps of the bounds at each division for each dimension.
 

Static Private Attributes

static constexpr std::size_t s_divisions [sizeof...(divisions)] = {divisions...}
 Array of the number of divisions for each dimension.
 

Detailed Description

template<class ABox, std::size_t... divisions>
class Belle2::TrackFindingCDC::LinearDivision< ABox, divisions >

Factory object that constructs sub boxes from a given box with optional overlaps.

The number of divisions in each dimension are given as template parameters such that the total number is know at compile time.

Definition at line 31 of file LinearDivision.h.


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