SpECTRE  v2022.06.14
Tags::SpinWeighted< Tag, SpinConstant > Struct Template Reference

Given a Tag with a type of Tensor<VectorType, ...>, acts as a new version of the tag with type of Tensor<SpinWeighted<VectorType, SpinConstant::value>, ...>, which is the preferred tensor type associated with spin-weighted quantities. Here, SpinConstant must be a std::integral_constant or similar type wrapper for a compile-time constant, in order to work properly with DataBox utilities. More...

#include <Tags.hpp>

Public Types

using type = TensorMetafunctions::swap_type< ::SpinWeighted< typename Tag::type::type, SpinConstant::value >, typename Tag::type >
 
using tag = Tag
 

Static Public Member Functions

static std::string name ()
 

Detailed Description

template<typename Tag, typename SpinConstant>
struct Tags::SpinWeighted< Tag, SpinConstant >

Given a Tag with a type of Tensor<VectorType, ...>, acts as a new version of the tag with type of Tensor<SpinWeighted<VectorType, SpinConstant::value>, ...>, which is the preferred tensor type associated with spin-weighted quantities. Here, SpinConstant must be a std::integral_constant or similar type wrapper for a compile-time constant, in order to work properly with DataBox utilities.

Note
There are restrictions of which vector types can be wrapped by SpinWeighted in a Tensor, so some Tags that have valid types may give rise to compilation errors when used as Tags::SpinWeighted<Tag, SpinConstant>. If you find such trouble, consult the whitelist of possible Tensor storage types in Tensor.hpp.

The documentation for this struct was generated from the following file: