Belle II Software development
|
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_nSubBoxes > | operator() (const ABox &box) |
Factory method to construct the subboxes with overlap from the given box. | |
template<std::size_t... Is> | |
std::array< ABox, s_nSubBoxes > | makeSubBoxes (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. | |
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.
|
inlineexplicit |
Initialise the sub box factory with specific overlaps.
Definition at line 43 of file LinearDivision.h.
|
inline |
Make the subbox with overlaps of the given box at global index.
Definition at line 67 of file LinearDivision.h.
|
inline |
Make all subboxs with overlap of the given box.
Definition at line 58 of file LinearDivision.h.
|
inline |
Factory method to construct the subboxes with overlap from the given box.
Definition at line 49 of file LinearDivision.h.
|
private |
Custom overlaps of the bounds at each division for each dimension.
Definition at line 84 of file LinearDivision.h.
|
staticconstexprprivate |
Array of the number of divisions for each dimension.
Definition at line 39 of file LinearDivision.h.
|
static |
Number of sub boxes produced by this factory facility.
Definition at line 35 of file LinearDivision.h.