/** * Runs this model. * * @param self the model. * @param units a unit list. * @param zones a zone list. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct adsm_module_t_ *self, UNT_unit_list_t * units, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_debug ("----- ENTER run (%s)", MODEL_NAME); #endif switch (event->type) { case EVT_BeforeAnySimulations: adsm_declare_outputs (self, queue); break; case EVT_BeforeEachSimulation: handle_before_each_simulation_event (self); break; case EVT_NewDay: handle_new_day_event (self); break; case EVT_TraceResult: handle_trace_result_event (self, &(event->u.trace_result)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_debug ("----- EXIT run (%s)", MODEL_NAME); #endif }
/** * Runs this model. * * @param self the model. * @param herds a herd list. * @param zones a zone list. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct naadsm_model_t_ *self, HRD_herd_list_t * herds, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_debug ("----- ENTER run (%s)", MODEL_NAME); #endif switch (event->type) { case EVT_BeforeAnySimulations: handle_before_any_simulations_event (self, queue); break; case EVT_NewDay: handle_new_day_event (self); break; case EVT_Exposure: handle_exposure_event (self, &(event->u.exposure)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_debug ("----- EXIT run (%s)", MODEL_NAME); #endif }
/** * Runs this model. * * @param self the model. * @param herds a herd list. * @param zones a zone list. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct ergadm_model_t_ *self, HRD_herd_list_t * herds, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER run (%s)", MODEL_NAME); #endif switch (event->type) { case EVT_NewDay: handle_new_day_event (self, &(event->u.new_day)); break; case EVT_CommitmentToVaccinate: handle_commitment_to_vaccinate_event (self, &(event->u.commitment_to_vaccinate)); break; case EVT_Vaccination: handle_vaccination_event (self, &(event->u.vaccination)); break; case EVT_Destruction: handle_destruction_event (self, &(event->u.destruction)); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT run (%s)", MODEL_NAME); #endif }
/** * Runs this model. * * Side effects: may change the state of one or more herds in list. * * @param self the model. * @param herds a list of herds. * @param zones a list of zones. * @param event the event that caused the model to run. * @param rng a random number generator. * @param queue for any new events the model creates. */ void run (struct ergadm_model_t_ *self, HRD_herd_list_t * herds, ZON_zone_list_t * zones, EVT_event_t * event, RAN_gen_t * rng, EVT_event_queue_t * queue) { #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- ENTER run (%s)", MODEL_NAME); #endif if( NULL != guilib_printf ) { char guilog[1024]; sprintf( guilog, "ENTER run %s", MODEL_NAME); //guilib_printf( guilog ); } switch (event->type) { case EVT_RequestForInfectionCauses: handle_request_for_infection_causes_event (self, queue); break; case EVT_NewDay: handle_new_day_event (self, herds, &(event->u.new_day), rng, queue); break; default: g_error ("%s has received a %s event, which it does not listen for. This should never happen. Please contact the developer.", MODEL_NAME, EVT_event_type_name[event->type]); } #if DEBUG g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "----- EXIT run (%s)", MODEL_NAME); #endif if( NULL != guilib_printf ) { char guilog[1024]; sprintf( guilog, "EXIT run %s", MODEL_NAME); //guilib_printf( guilog ); } return; }