39 static constexpr
unsigned int N = 1 <<
DIM_POS;
55 std::array<double, DIM_POS> lowerLeft,
56 std::array<double, DIM_POS> upperRight,
82 for (
unsigned int i = 0; i <
DIM_POS; ++i) {
150 size_t bin =
m_grid.globalBinFromPosition(gridPosition);
151 const auto& indices =
m_grid.localBinsFromPosition(bin);
152 const auto& lowerLeft =
m_grid.lowerLeftBinEdge(indices);
153 const auto& upperRight =
m_grid.upperRightBinEdge(indices);
156 constexpr
size_t nCorners = 1 <<
DIM_POS;
157 std::array<ActsVectorF<5>, nCorners> neighbors;
158 const auto& cornerIndices =
m_grid.closestPointsIndices(gridPosition);
161 for (
size_t index : cornerIndices) {
162 neighbors.at(i++) =
m_grid.at(index);
166 std::move(neighbors));
173 auto nBinsArray =
m_grid.numLocalBins();
174 return std::vector<size_t>(nBinsArray.begin(), nBinsArray.end());
181 auto minArray =
m_grid.minPosition();
182 return std::vector<double>(minArray.begin(), minArray.end());
189 auto maxArray =
m_grid.maxPosition();
190 return std::vector<double>(maxArray.begin(), maxArray.end());
236 template <
typename Mapper_t>
242 std::optional<typename Mapper_t::MaterialCell>
matCell;
274 return m_mapper.getMaterial(position);
289 return (*cache.
matCell).getMaterial(position);
302 return m_mapper.getMaterial(position);
318 return m_mapper.getMaterial(position);
341 sl <<
"Acts::InterpolatedMaterialMap : " << std::endl;
344 sl <<
" - Parse full update material : " << std::endl;
358 return m_mapper.getMaterialCell(position);