SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/CurvedScalarWave - BackgroundSpacetime.hpp Hit Total Coverage
Commit: 37c384043430860f87787999aa7399d01bb3d213 Lines: 3 17 17.6 %
Date: 2024-04-20 02:24:02
Legend: Lines: hit not hit

          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             : #include <string>
       8             : 
       9             : #include "DataStructures/DataBox/Tag.hpp"
      10             : #include "Options/String.hpp"
      11             : #include "Utilities/PrettyType.hpp"
      12             : 
      13           1 : namespace CurvedScalarWave {
      14           0 : namespace OptionTags {
      15             : 
      16           0 : struct BackgroundSpacetimeGroup {
      17           0 :   static constexpr Options::String help = {
      18             :       "The background spacetime on which the scalar wave "
      19             :       "propagates."};
      20           0 :   static std::string name() { return "BackgroundSpacetime"; }
      21             : };
      22             : 
      23             : template <typename BackgroundType>
      24           0 : struct BackgroundSpacetime {
      25           0 :   static constexpr Options::String help = {
      26             :       "Options for the background spacetime on which the scalar wave "
      27             :       "propagates."};
      28           0 :   static std::string name() {
      29             :     return pretty_type::short_name<BackgroundType>();
      30             :   }
      31           0 :   using type = BackgroundType;
      32           0 :   using group = BackgroundSpacetimeGroup;
      33             : };
      34             : }  // namespace OptionTags
      35             : 
      36           1 : namespace Tags {
      37             : /*!
      38             :  * \brief The background spacetime on which the scalar wave propagates.
      39             :  */
      40             : template <typename BackgroundType>
      41           1 : struct BackgroundSpacetime : db::SimpleTag {
      42           0 :   using type = BackgroundType;
      43           0 :   using option_tags =
      44             :       tmpl::list<OptionTags::BackgroundSpacetime<BackgroundType>>;
      45           0 :   static constexpr bool pass_metavariables = false;
      46           0 :   static BackgroundType create_from_options(const BackgroundType& background) {
      47             :     return background;
      48             :   }
      49             : };
      50             : }  // namespace Tags
      51             : }  // namespace CurvedScalarWave

Generated by: LCOV version 1.14