FRED
AV_Manager.h
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
 All Classes Functions