Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstdint>
7 :
8 : #include "DataStructures/Tensor/TypeAliases.hpp"
9 : #include "Utilities/TMPL.hpp"
10 :
11 : class DataVector;
12 :
13 : namespace ylm::Tags {
14 : /// Defines type aliases used in Strahlkorper-related Tags.
15 1 : namespace aliases {
16 : template <typename Frame>
17 0 : using Jacobian =
18 : Tensor<DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
19 : index_list<SpatialIndex<3, UpLo::Up, Frame>,
20 : SpatialIndex<2, UpLo::Lo, ::Frame::Spherical<Frame>>>>;
21 : template <typename Frame>
22 0 : using InvJacobian =
23 : Tensor<DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
24 : index_list<SpatialIndex<2, UpLo::Up, ::Frame::Spherical<Frame>>,
25 : SpatialIndex<3, UpLo::Lo, Frame>>>;
26 : template <typename Frame>
27 0 : using InvHessian =
28 : Tensor<DataVector, tmpl::integral_list<std::int32_t, 3, 2, 1>,
29 : index_list<SpatialIndex<2, UpLo::Up, ::Frame::Spherical<Frame>>,
30 : SpatialIndex<3, UpLo::Lo, Frame>,
31 : SpatialIndex<3, UpLo::Lo, Frame>>>;
32 : } // namespace aliases
33 : } // namespace ylm::Tags
|