Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <cstddef> 7 : 8 : #include "DataStructures/DataBox/Tag.hpp" 9 : #include "DataStructures/DataVector.hpp" 10 : #include "DataStructures/Tensor/TypeAliases.hpp" 11 : #include "Utilities/TMPL.hpp" 12 : 13 1 : namespace intrp::Tags { 14 : /*! 15 : * \brief PointInfo holds the points to be interpolated onto, 16 : * in whatever frame those points are to be held constant. 17 : * 18 : * \details PointInfo is used only for interpolation points that are 19 : * time-independent in some frame, so that there is no `Interpolator` 20 : * ParallelComponent. `VolumeDim` is a typename rather than a `size_t` to better 21 : * facilitate this tag being used in metafunctions. `VolumeDim` must be a 22 : * `tmpl::size_t`. 23 : */ 24 : template <typename InterpolationTargetTag, typename VolumeDim> 25 1 : struct PointInfo : db::SimpleTag { 26 0 : using type = 27 : tnsr::I<DataVector, VolumeDim::value, 28 : typename InterpolationTargetTag::compute_target_points::frame>; 29 : }; 30 : } // namespace intrp::Tags