Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include "DataStructures/DataBox/Tag.hpp"
7 : #include "Options/Options.hpp"
8 : #include "ParallelAlgorithms/EventsAndDenseTriggers/EventsAndDenseTriggers.hpp"
9 : #include "Utilities/Serialization/Serialize.hpp"
10 : #include "Utilities/TMPL.hpp"
11 :
12 : namespace OptionTags {
13 : /*!
14 : * \ingroup EventsAndTriggersGroup
15 : * \brief The Event%s to run based on DenseTrigger%s, similar to
16 : * OptionTags::EventsAndTriggers
17 : */
18 1 : struct EventsAndDenseTriggers {
19 0 : using type = ::EventsAndDenseTriggers;
20 0 : static constexpr Options::String help = "Events to run at arbitrary times";
21 : };
22 : } // namespace OptionTags
23 :
24 : namespace Tags {
25 : /*!
26 : * \ingroup EventsAndTriggersGroup
27 : * \brief The Event%s to run based on DenseTrigger%s
28 : */
29 1 : struct EventsAndDenseTriggers : db::SimpleTag {
30 0 : using type = ::EventsAndDenseTriggers;
31 0 : using option_tags = tmpl::list<OptionTags::EventsAndDenseTriggers>;
32 0 : static constexpr bool pass_metavariables = false;
33 0 : static type create_from_options(const type& events_and_triggers) {
34 : return serialize_and_deserialize<type>(events_and_triggers);
35 : }
36 : };
37 : } // namespace Tags
|