19#ifndef SCHEDULE_EVENTS_HPP
20#define SCHEDULE_EVENTS_HPP
24#include <unordered_map>
28 namespace ScheduleEvents {
45 WELL_WELSPECS_UPDATE = (1 << 1),
62 PRODUCTION_UPDATE = (1 << 4),
63 INJECTION_UPDATE = (1 << 5),
71 WELL_STATUS_CHANGE = (1 << 7),
76 COMPLETION_CHANGE = (1 << 8),
81 GROUP_CHANGE = (1 << 9),
87 GEO_MODIFIER = (1 << 10),
92 TUNING_CHANGE = (1 << 11),
95 VFPINJ_UPDATE = (1 << 12),
96 VFPPROD_UPDATE = (1 << 13),
102 GROUP_PRODUCTION_UPDATE = (1 << 14),
103 GROUP_INJECTION_UPDATE = (1 << 15),
108 WELL_PRODUCTIVITY_INDEX = (1 << 16),
113 WELLGROUP_EFFICIENCY_UPDATE = (1 << 17),
118 INJECTION_TYPE_CHANGED = (1 << 18),
123 WELL_SWITCHED_INJECTOR_PRODUCER = (1 << 19),
128 ACTIONX_WELL_EVENT = (1 << 20),
149 static Events serializationTestObject();
151 void addEvent(ScheduleEvents::Events event);
152 bool hasEvent(uint64_t eventMask)
const;
153 void clearEvent(uint64_t eventMask);
156 bool operator==(
const Events& data)
const;
158 template<
class Serializer>
161 serializer(m_events);
165 uint64_t m_events = 0;
173 void addWell(
const std::string& wname);
174 void addGroup(
const std::string& gname);
175 void addEvent(
const std::string& wgname, ScheduleEvents::Events event);
176 bool hasEvent(
const std::string& wgname, uint64_t eventMask)
const;
177 bool has(
const std::string& wgname)
const;
178 void clearEvent(
const std::string& wgname, uint64_t eventMask);
180 const Events& at(
const std::string& wgname)
const;
183 template<
class Serializer>
186 serializer(m_wellgroup_events);
189 std::unordered_map<std::string, Events> m_wellgroup_events;
Definition Events.hpp:147
Class for (de-)serializing.
Definition Serializer.hpp:84
Definition Events.hpp:169
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30