29 static constexpr
size_t DIM_POS = Grid_t::DIM;
37 static constexpr
unsigned int N = 1 <<
DIM_POS;
53 std::array<double, DIM_POS> lowerLeft,
54 std::array<double, DIM_POS> upperRight,
80 for (
unsigned int i = 0; i <
DIM_POS; ++i) {
148 size_t bin =
m_grid.globalBinFromPosition(gridPosition);
149 const auto& indices =
m_grid.localBinsFromPosition(bin);
150 const auto& lowerLeft =
m_grid.lowerLeftBinEdge(indices);
151 const auto& upperRight =
m_grid.upperRightBinEdge(indices);
154 constexpr
size_t nCorners = 1 <<
DIM_POS;
155 std::array<ActsVectorF<5>, nCorners> neighbors;
156 const auto& cornerIndices =
m_grid.closestPointsIndices(gridPosition);
159 for (
size_t index : cornerIndices) {
160 neighbors.at(i++) =
m_grid.at(index);
164 std::move(neighbors));
171 auto nBinsArray =
m_grid.numLocalBins();
172 return std::vector<size_t>(nBinsArray.begin(), nBinsArray.end());
179 auto minArray =
m_grid.minPosition();
180 return std::vector<double>(minArray.begin(), minArray.end());
187 auto maxArray =
m_grid.maxPosition();
188 return std::vector<double>(maxArray.begin(), maxArray.end());
234 template <
typename Mapper_t>
240 std::optional<typename Mapper_t::MaterialCell>
matCell;
272 return m_mapper.getMaterial(position);
287 return (*cache.
matCell).getMaterial(position);
300 return m_mapper.getMaterial(position);
316 return m_mapper.getMaterial(position);
339 sl <<
"Acts::InterpolatedMaterialMap : " << std::endl;
342 sl <<
" - Parse full update material : " << std::endl;
355 return m_mapper.getMaterialCell(position);