FireSTARR
Loading...
Searching...
No Matches
Iteration.h
1/* Copyright (c) Queen's Printer for Ontario, 2020. */
2/* Copyright (c) His Majesty the King in Right of Canada as represented by the Minister of Natural Resources, 2024-2025. */
3
4/* SPDX-License-Identifier: AGPL-3.0-or-later */
5
6#pragma once
7#include <random>
8#include <vector>
9#include "SafeVector.h"
10#include "IntensityMap.h"
11namespace fs::sim
12{
13class ProbabilityMap;
14class Scenario;
19{
20public:
21 ~Iteration();
26 explicit Iteration(vector<Scenario*> scenarios) noexcept;
31 Iteration(const Iteration& rhs) = default;
36 Iteration(Iteration&& rhs) = default;
42 Iteration& operator=(const Iteration& rhs) = default;
48 Iteration& operator=(Iteration&& rhs) = default;
55 Iteration* reset(mt19937* mt_extinction,
56 mt19937* mt_spread);
61 [[nodiscard]] const vector<Scenario*>& getScenarios() const noexcept
62 {
63 return scenarios_;
64 }
69 void cancel(bool show_warning) noexcept;
74 [[nodiscard]] vector<DurationSize> savePoints() const;
79 [[nodiscard]] DurationSize startTime() const;
84 [[nodiscard]] size_t size() const noexcept;
89 [[nodiscard]] util::SafeVector finalSizes() const;
90private:
98 util::SafeVector final_sizes_{};
102 bool cancelled_ = false;
103};
104}
Represents a full set of simulations using all available weather streams.
Definition Iteration.h:19
const vector< Scenario * > & getScenarios() const noexcept
List of Scenarios this Iteration contains.
Definition Iteration.h:61
util::SafeVector final_sizes_
SafeVector of sizes that Scenarios have resulted in.
Definition Iteration.h:98
Iteration & operator=(const Iteration &rhs)=default
Copy assignment.
void cancel(bool show_warning) noexcept
Definition Iteration.cpp:96
Iteration(vector< Scenario * > scenarios) noexcept
Constructor.
Definition Iteration.cpp:19
size_t size() const noexcept
Number of Scenarios in this Iteration.
Definition Iteration.cpp:88
Iteration * reset(mt19937 *mt_extinction, mt19937 *mt_spread)
Create new thresholds for use in each Scenario.
Definition Iteration.cpp:23
DurationSize startTime() const
Time that simulations start.
Definition Iteration.cpp:84
Iteration & operator=(Iteration &&rhs)=default
Move assignment.
vector< Scenario * > scenarios_
List of Scenarios this Iteration contains.
Definition Iteration.h:94
util::SafeVector finalSizes() const
SafeVector of sizes that Scenarios have resulted in.
Definition Iteration.cpp:92
vector< DurationSize > savePoints() const
Points in time that ProbabilityMaps get saved for.
Definition Iteration.cpp:80
Iteration(Iteration &&rhs)=default
Move constructor.
Iteration(const Iteration &rhs)=default
Copy constructor.
bool cancelled_
Whether this has been cancelled and should stop computing.
Definition Iteration.h:102
A single Scenario in an Iteration using a specific FireWeather stream.
Definition Scenario.h:31
Definition util.py:1