Stride Reference Manual  - generated for commit 9643b11
DiseaseSeeder.h
Go to the documentation of this file.
1 /*
2  * This is free software: you can redistribute it and/or modify it
3  * under the terms of the GNU General Public License as published by
4  * the Free Software Foundation, either version 3 of the License, or
5  * any later version.
6  * The software is distributed in the hope that it will be useful,
7  * but WITHOUT ANY WARRANTY; without even the implied warranty of
8  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9  * GNU General Public License for more details.
10  * You should have received a copy of the GNU General Public License
11  * along with the software. If not, see <http://www.gnu.org/licenses/>.
12  *
13  * Copyright 2018, Kuylen E, Willem L, Broeckhove J
14  */
15 
21 #pragma once
22 
23 #include "contact/ContactPool.h"
24 #include "util/RnMan.h"
25 #include "util/SegmentedVector.h"
26 
27 #include <boost/property_tree/ptree_fwd.hpp>
28 #include <memory>
29 
30 namespace stride {
31 
32 class Population;
33 class Sim;
34 
39 {
40 public:
42  DiseaseSeeder(const boost::property_tree::ptree& config, util::RnMan& rnMan);
43 
45  void Seed(std::shared_ptr<Population> pop);
46 
47 private:
49  void Vaccinate(const std::string& immunityType, const std::string& immunizationProfile,
50  std::shared_ptr<Population> pop, const ContactType::Id contactPoolType);
51 private:
52  const boost::property_tree::ptree& m_config;
54 };
55 
56 } // namespace stride
Id
Enumerates the ContactPool types.
Definition: ContactType.h:34
Header for the core ContactPool class.
const boost::property_tree::ptree & m_config
Run config.
Definition: DiseaseSeeder.h:52
util::RnMan & m_rn_man
Random number manager.
Definition: DiseaseSeeder.h:53
Seeds population w.r.t immunity (natural immunity, vaccination, ...) and infection.
Definition: DiseaseSeeder.h:38
Interface and implementation for SegmentedVector class.
void Vaccinate(const std::string &immunityType, const std::string &immunizationProfile, std::shared_ptr< Population > pop, const ContactType::Id contactPoolType)
Seed for vaccination/natural immunity.
Interface of RnMan.
DiseaseSeeder(const boost::property_tree::ptree &config, util::RnMan &rnMan)
Initializing DiseaseSeeder.
Namespace for the simulator and related classes.
Definition: Calendar.cpp:28
void Seed(std::shared_ptr< Population > pop)
Build the simulator.