FRED
|
00001 /* 00002 Copyright 2009 by the University of Pittsburgh 00003 Licensed under the Academic Free License version 3.0 00004 See the file "LICENSE" for more information 00005 */ 00006 00007 // 00008 // 00009 // File: AV_Manager.h 00010 // 00011 00012 #ifndef _FRED_AV_MANAGER_H 00013 #define _FRED_AV_MANAGER_H 00014 00015 #include "Antivirals.h" 00016 #include "Manager.h" 00017 00018 #define AV_POLICY_PERCENT_SYMPT 0 00019 #define AV_POLICY_GIVE_EVERYONE 1 00020 00021 class Population; 00022 class Person; 00023 class Policy; 00024 00025 class AV_Manager: public Manager { 00026 public: 00027 00031 AV_Manager(Population *_pop); 00032 00033 //Parameters 00037 bool do_antivirals() const { return do_av; } 00038 00042 int get_overall_start_day() const { return overall_start_day; } 00043 00047 Antiviral* get_current_av() const { return current_av; } 00048 00049 //Paramters 00053 Antivirals* get_antivirals() const { return av_package; } 00054 00059 int get_num_antivirals() const { return av_package->get_number_antivirals(); } 00060 00064 bool get_are_policies_set() const { return are_policies_set; } 00065 00066 // Manager Functions 00072 void disseminate(int day); 00073 00074 // Utility Functions 00080 void update(int day); 00081 00085 void reset(); 00086 00090 void print(); 00091 00092 private: 00093 bool do_av; //Whether or not antivirals are being disseminated 00094 Antivirals* av_package; //The package of avs available to this manager 00095 // Parameters 00096 int overall_start_day; //Day to start the av procedure 00097 00101 void set_policies(); 00102 bool are_policies_set; //Ensure that the policies for AVs have been set. 00103 00104 Antiviral* current_av; //NEED TO ELIMINATE, HIDDEN to IMPLEMENTATION 00105 }; 00106 00107 #endif