31 m_logger->trace(
"Starting to populate Households");
34 auto hh_dist = m_rn_man.GetUniformIntGenerator(0, static_cast<int>(geoGridConfig.
refHH.
ages.size()), 0U);
37 for (
const shared_ptr<Location>& loc : geoGrid) {
38 for (
auto& pool : loc->RefPools(Id::Household)) {
39 const auto hDraw =
static_cast<unsigned int>(hh_dist());
40 for (
const auto& age : geoGridConfig.
refHH.
ages[hDraw]) {
41 const auto p = pop->
CreatePerson(person_id++, age, pool->GetId(), 0, 0, 0, 0, 0);
47 m_logger->trace(
"Done populating Households");
stride::Population * GetPopulation() const
Get the Population associated with this GeoGrid.
Configuration data mostly for generating a population, but also for computing the required number of ...
struct geopop::GeoGridConfig::@1 refHH
A Geographic grid of simulation region contains Locations that in turn contain an index to the Contac...
Namespace for the geographic and demograhic classes.
void Apply(GeoGrid &, const GeoGridConfig &)
Populate the ContactPools type ID. This is a placeholder for the specializations. ...
Person * CreatePerson(unsigned int id, double age, unsigned int householdId, unsigned int k12SchoolId, unsigned int collegeId, unsigned int workId, unsigned int primaryCommunityId, unsigned int secondaryCommunityId)
Create Person in the population.
std::vector< std::vector< unsigned int > > ages
Age profile per reference household.
Header file for the core Population class.
Namespace to manage types of ContactPool.