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),
135 REQUEST_OPEN_WELL = (1 << 21),
156 static Events serializationTestObject();
158 void addEvent(ScheduleEvents::Events event);
159 bool hasEvent(uint64_t eventMask)
const;
160 void clearEvent(uint64_t eventMask);
163 bool operator==(
const Events& data)
const;
165 template<
class Serializer>
168 serializer(m_events);
172 uint64_t m_events = 0;
180 void addWell(
const std::string& wname);
181 void addGroup(
const std::string& gname);
182 void addEvent(
const std::string& wgname, ScheduleEvents::Events event);
183 bool hasEvent(
const std::string& wgname, uint64_t eventMask)
const;
184 bool has(
const std::string& wgname)
const;
185 void clearEvent(
const std::string& wgname, uint64_t eventMask);
187 const Events& at(
const std::string& wgname)
const;
190 template<
class Serializer>
193 serializer(m_wellgroup_events);
196 std::unordered_map<std::string, Events> m_wellgroup_events;
Definition Events.hpp:154
Class for (de-)serializing.
Definition Serializer.hpp:84
Definition Events.hpp:176
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30