FRED
Workplace.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: Workplace.h
00010 //
00011 
00012 #ifndef _FRED_WORKPLACE_H
00013 #define _FRED_WORKPLACE_H
00014 
00015 #include "Place.h"
00016 #include <vector>
00017 
00018 
00019 
00020 class Workplace: public Place {
00021 public: 
00022 
00026   Workplace() { offices.clear(); next_office = 0; }
00027   ~Workplace() {}
00028 
00034   Workplace(int, const char *,double,double,Place *, Population *pop);
00035 
00042   void get_parameters(int diseases);
00043 
00047   void prepare();
00048 
00052   int get_group(int disease, Person * per) { return 0; }
00053 
00062   double get_transmission_prob(int disease, Person * i, Person * s);
00063 
00072   double get_contacts_per_day(int disease);
00073 
00077   void setup_offices();
00078 
00084   Place * assign_office(Person *per);
00085 
00093   bool should_be_open(int day, int disease) { return true; }
00094 
00095  private:
00096   static double * Workplace_contacts_per_day;
00097   static double *** Workplace_contact_prob;
00098   static bool Workplace_parameters_set;
00099   static int Office_size;
00100 
00101   vector <Place *> offices;
00102   int next_office;
00103 };
00104 
00105 #endif // _FRED_WORKPLACE_H
00106 
 All Classes Functions