Class InfectionManager

java.lang.Object
epidemic.managers.InfectionManager

public class InfectionManager extends Object
Moduł odpowiedzialny za mechanikę rozprzestrzeniania się patogenu. Ocenia interakcje między agentami oraz środowiskiem (chmury zakaźne), przeliczając szanse na transmisję wirusa na podstawie dystansu przestrzennego i indywidualnej podatności organizmu (Vulnerability).
  • Field Details

    • virus

      private final Virus virus
  • Constructor Details

    • InfectionManager

      public InfectionManager(Virus virus)
      Inicjalizuje menedżera infekcji.
      Parameters:
      virus - Referencja do globalnego patogenu definiującego bazowe statystyki zakażeń.
  • Method Details

    • processInfections

      public void processInfections(WorldMap world)
      Przeprowadza pełną iterację procesu zakażania dla całej populacji na mapie. Przetwarza wektory transmisji dwutorowo: 1. Bezpośrednie zakażenia kropelkowe między nosicielami a podatnymi ofiarami w promieniu rażenia. 2. Zakażenia środowiskowe (aerozolowe) poprzez kontakt ze stacjonarnymi polami skażenia (InfectionField).
      Parameters:
      world - Aktualny stan mapy symulacyjnej udostępniający listę agentów i indeks przestrzenny.
    • canSpreadVirus

      private boolean canSpreadVirus(Agent agent)
    • spreadToNeighbors

      private void spreadToNeighbors(Agent spreader, SpatialManager spatialManager)
    • calculateFinalProbability

      private double calculateFinalProbability(Agent spreader, Agent victim)
    • infect

      private void infect(Agent victim)