33 boost::optional<double> r0 = configPt.get_optional<
double>(
"run.r0");
37 const auto b0 = diseasePt.get<
double>(
"disease.transmission.b0");
38 const auto b1 = diseasePt.get<
double>(
"disease.transmission.b1");
39 const auto b2 = diseasePt.get<
double>(
"disease.transmission.b2");
44 const auto c = b0 - *r0;
47 if (*r0 < (-(b * b) / (4 * a))) {
48 const double determ = (b * b) - 4 * a * c;
49 double transmission_rate = (-b + sqrt(determ)) / (2 * a);
50 m_transmission_probability = 1.0 - std::exp(-transmission_rate);
52 throw runtime_error(
"TransmissionProfile::Initialize> Illegal input values.");
57 m_transmission_probability = configPt.get<
double>(
"run.transmission_probability");
Header for the TransmissionProfile class.
Namespace for the simulator and related classes.
void Initialize(const boost::property_tree::ptree &configPt, const boost::property_tree::ptree &diseasePt)
Initialize.