Source code for pyEpiabm.output.new_cases_writer

from pyEpiabm.output._csv_writer import _CsvWriter
from pyEpiabm.core import Population


[docs] class NewCasesWriter(_CsvWriter): """ Writer for collecting number of daily new cases """
[docs] def __init__(self, folder: str): """ Constructor method Parameters ---------- folder : str Absolute path to folder to store results """ super().__init__( folder, 'new_cases.csv', ['t', 'cell', 'new_cases'], False)
[docs] def write(self, t: float, population: Population): """ Write method Write daily new cases from population to file Parameters ---------- t : float Current simulation time population : Population Population to record """ for cell in population.cells: new_cases = 0 for person in cell.persons: if person.infection_start_times != [] and \ person.infection_start_times[-1] > (t-1): new_cases += 1 super().write([t, cell.id, new_cases])