Stride Reference Manual  1.0
LocalSimulatorAdapter.cpp
Go to the documentation of this file.
2 #include "pop/Population.h"
3 #include "pop/Traveller.h"
4 #include "core/Cluster.h"
5 #include "util/GeoCoordinate.h"
6 #include <memory>
7 #include <random>
8 
9 using namespace stride;
10 using namespace std;
11 using namespace util;
12 
14  : m_sim(sim.get()) {}
15 
16 future<SimulatorStatus> LocalSimulatorAdapter::timeStep() {
17  return async([&]() {
18  return m_sim->timeStep();
19  });
20 }
21 
22 void LocalSimulatorAdapter::welcomeHomeTravellers(const pair<vector<uint>, vector<Health>>& travellers) {
23  m_sim->welcomeHomeTravellers(travellers.first, travellers.second);
24 }
25 
26 void LocalSimulatorAdapter::hostForeignTravellers(const vector<stride::Simulator::TravellerType>& travellers, uint days,
27  const string& destination_district,
28  const string& destination_facility) {
29  m_sim->hostForeignTravellers(travellers, days, destination_district, destination_facility);
30 }
31 
32 void LocalSimulatorAdapter::sendNewTravellers(uint amount, uint days, const string& destination_sim_id,
33  const string& destination_district, const string& destination_facility) {
34  m_sim->sendNewTravellers(amount, days, destination_sim_id, destination_district, destination_facility);
35 }
36 
39 }
40 
41 void LocalSimulatorAdapter::sendNewTravellers(const vector<Simulator::TravellerType>& travellers, uint days,
42  const string& destination_sim_id, const string& destination_district,
43  const string& destination_facility) {
44  // TODO wtf?
45  //m_adapters.at(destination_sim_id)->hostForeignTravellers(travellers, days, destination_district, destination_facility);
46 }
47 
48 void LocalSimulatorAdapter::returnForeignTravellers(const pair<vector<uint>, vector<Health>>& travellers,
49  const string& home_sim_id) {
50  // TODO wtf?
51  //m_adapters.at(home_sim_id)->welcomeHomeTravellers(travellers);
52 }
virtual future< SimulatorStatus > timeStep() override
unsigned int uint
Definition: Influence.h:17
SimulatorStatus timeStep()
Run one time step, computing full simulation (default) or only index case.
Definition: Simulator.cpp:77
virtual void hostForeignTravellers(const vector< stride::Simulator::TravellerType > &travellers, uint days, const string &destination_district, const string &destination_facility) override
Receive travellers travellers: the travellers this simulator has to host.
void sendNewTravellers(uint amount, uint days, const string &destination_sim_id, string destination_district, string destination_facility)
Definition: Simulator.cpp:328
bool hostForeignTravellers(const vector< Simulator::TravellerType > &travellers, uint days, string destination_district, string destination_facility)
Receive travellers travellers: the travellers this simulator has to host.
Definition: Simulator.cpp:195
Time Dependent Person DataType.
Definition: NoBehaviour.h:17
virtual void sendNewTravellers(uint amount, uint days, const string &destination_sim_id, const string &destination_district, const string &destination_facility) override
Send travellers to the destination region Returns a vector of indices (in the Population of the simul...
Header file for the core Population class.
STL namespace.
virtual void returnForeignTravellers() override
Return foreign people that would return today, signals the Simulator to return today&#39;s travellers...
void returnForeignTravellers()
Return people that are here FROM abroad.
Definition: Simulator.cpp:288
bool welcomeHomeTravellers(const vector< uint > &travellers_indices, const vector< Health > &health_status)
Return people that were abroad travellers_indices: contains the indices (in the m_population->m_orig...
Definition: Simulator.cpp:278
virtual void welcomeHomeTravellers(const pair< vector< uint >, vector< Health >> &travellers) override
Header for the core Cluster class.
LocalSimulatorAdapter(shared_ptr< Simulator > sim)
The constructor, this adapter will control one simulator.