diff --git a/caimira/apps/calculator/model_generator.py b/caimira/apps/calculator/model_generator.py index 1baf0538..5ab6099c 100644 --- a/caimira/apps/calculator/model_generator.py +++ b/caimira/apps/calculator/model_generator.py @@ -223,7 +223,6 @@ class VirusFormData(FormData): activity=infected_population.activity, presence=self.short_range_interval(interaction), distance=short_range_distances(self.data_registry), - total_people=self.short_range_total_people, )) return mc.ExposureModel( @@ -242,6 +241,7 @@ class VirusFormData(FormData): geographic_cases=self.geographic_cases, ascertainment_bias=CONFIDENCE_LEVEL_OPTIONS[self.ascertainment_bias], ), + exposed_to_short_range=self.short_range_total_people, ) def build_model(self, sample_size=None) -> models.ExposureModel: diff --git a/caimira/models.py b/caimira/models.py index 9cbfce75..389c082c 100644 --- a/caimira/models.py +++ b/caimira/models.py @@ -1331,9 +1331,6 @@ class ShortRangeModel: #: Interpersonal distances distance: _VectorisedFloat - #: Total people with short-range interactions - total_people: int = 1 - def dilution_factor(self) -> _VectorisedFloat: ''' The dilution factor for the respective expiratory activity type. @@ -1582,6 +1579,9 @@ class ExposureModel: #: Geographical data geographical_data: Cases + #: Total people with short-range interactions + exposed_to_short_range: int = 1 + #: The number of times the exposure event is repeated (default 1). @property def repeats(self) -> int: @@ -1821,7 +1821,7 @@ class ExposureModel: """ # If short-range interaction are defined, the total exposed people # is only those of the short-range interactions. - exposed = self.short_range[0].total_people if self.short_range != () else self.exposed.number + exposed = self.exposed_to_short_range if self.short_range != () else self.exposed.number return self.infection_probability() * exposed / 100