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 Fr>
17 0 : using Jacobian =
18 : Tensor<DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
19 : index_list<SpatialIndex<3, UpLo::Up, Fr>,
20 : SpatialIndex<2, UpLo::Lo, ::Frame::Spherical<Fr>>>>;
21 : template <typename Fr>
22 0 : using InvJacobian =
23 : Tensor<DataVector, tmpl::integral_list<std::int32_t, 2, 1>,
24 : index_list<SpatialIndex<2, UpLo::Up, ::Frame::Spherical<Fr>>,
25 : SpatialIndex<3, UpLo::Lo, Fr>>>;
26 : template <typename Fr>
27 0 : using InvHessian = Tensor<
28 : DataVector, tmpl::integral_list<std::int32_t, 3, 2, 1>,
29 : index_list<SpatialIndex<2, UpLo::Up, ::Frame::Spherical<Fr>>,
30 : SpatialIndex<3, UpLo::Lo, Fr>, SpatialIndex<3, UpLo::Lo, Fr>>>;
31 : } // namespace aliases
32 : } // namespace ylm::Tags
|