/** | |
* | |
*/ | |
package org.eclipse.stem.diseasemodels.globalinfluenzamodel; | |
/******************************************************************************* | |
* Copyright (c) 2009 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
import org.eclipse.stem.diseasemodels.standard.StochasticSIRDiseaseModel; | |
/** | |
* This interface is an EMF Model. | |
* | |
* @model | |
*/ | |
public interface GlobalInfluenzaModel extends StochasticSIRDiseaseModel { | |
/** | |
* Latitude of the Tropic of Cancer in Degrees (Tropic of Capricorn is -ve of this). | |
*/ | |
public static final double TROPIC_OF_CANCER_LATITUDE = 23.439444; | |
/** | |
* The modulation of the transmission coefficient of influenza is Latitude dependent. | |
* We model this with a sigmoid function that goes from zero to one | |
* with center at the tropic of cancer, and the tropic of capricorn. | |
* The default width factor is 4.5 which gives the sigmoid a slope proportional to the | |
* observed variation in seasonal flu epidemics as a function of latitude in Brazil. | |
* See: http://aje.oxfordjournals.org/cgi/content/full/165/12/1434 | |
* | |
* As our sigmoid we use the basic logistic function 1/1+exp(-x) | |
* so | |
* Sigmoid Function (lat) = SeasonalModulationFloor/(1.0 + exp((TROPIC_OF_CANCER_LATITUDE - abs(Lat))./4.5) ); | |
* This is near zero near the equator and goes to SeasonalModulationFloor above and below | |
* the tropics. | |
* | |
* @return the Latitude Sigmoid width | |
* @model default="4.50" | |
*/ | |
double getLatitudeSigmoidWidth(); | |
/** | |
* Sets the value of the '{@link org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalInfluenzaModel#getLatitudeSigmoidWidth <em>Latitude Sigmoid Width</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @param value the new value of the '<em>Latitude Sigmoid Width</em>' attribute. | |
* @see #getLatitudeSigmoidWidth() | |
* @generated | |
*/ | |
void setLatitudeSigmoidWidth(double value); | |
/** | |
* Returns the value of the '<em><b>Seasonal Modulation Exponent</b></em>' attribute. | |
* The default value is <code>"2.0"</code>. | |
* <!-- begin-user-doc --> | |
* <p> | |
* If the meaning of the '<em>Seasonal Modulation Exponent</em>' attribute isn't clear, | |
* there really should be more of a description here... | |
* </p> | |
* <!-- end-user-doc --> | |
* @return the value of the '<em>Seasonal Modulation Exponent</em>' attribute. | |
* @see #setSeasonalModulationExponent(double) | |
* @see org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalinfluenzamodelPackage#getGlobalInfluenzaModel_SeasonalModulationExponent() | |
* @model default="2.0" | |
* @generated | |
*/ | |
double getSeasonalModulationExponent(); | |
/** | |
* Sets the value of the '{@link org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalInfluenzaModel#getSeasonalModulationExponent <em>Seasonal Modulation Exponent</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @param value the new value of the '<em>Seasonal Modulation Exponent</em>' attribute. | |
* @see #getSeasonalModulationExponent() | |
* @generated | |
*/ | |
void setSeasonalModulationExponent(double value); | |
/** | |
* @return the default modulation period is 1 year. This default value assumes time steps in days. Note that one year = 365.256363051 days | |
* @model default="365.256363051" | |
*/ | |
double getModulationPeriod(); | |
/** | |
* Sets the value of the '{@link org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalInfluenzaModel#getModulationPeriod <em>Modulation Period</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @param value the new value of the '<em>Modulation Period</em>' attribute. | |
* @see #getModulationPeriod() | |
* @generated | |
*/ | |
void setModulationPeriod(double value); | |
/** | |
* @return the modulation phase shift shift. | |
* @model default="0.0" | |
*/ | |
double getModulationPhaseShift(); | |
/** | |
* Sets the value of the '{@link org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalInfluenzaModel#getModulationPhaseShift <em>Modulation Phase Shift</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @param value the new value of the '<em>Modulation Phase Shift</em>' attribute. | |
* @see #getModulationPhaseShift() | |
* @generated | |
*/ | |
void setModulationPhaseShift(double value); | |
/** | |
* Returns the value of the '<em><b>Seasonal Modulation Floor</b></em>' attribute. | |
* The default value is <code>"0.6"</code>. | |
* <!-- begin-user-doc --> | |
* <p> | |
* If the meaning of the '<em>Seasonal Modulation Floor</em>' attribute isn't clear, | |
* there really should be more of a description here... | |
* </p> | |
* <!-- end-user-doc --> | |
* @return the value of the '<em>Seasonal Modulation Floor</em>' attribute. | |
* @see #setSeasonalModulationFloor(double) | |
* @see org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalinfluenzamodelPackage#getGlobalInfluenzaModel_SeasonalModulationFloor() | |
* @model default="0.6" | |
* @generated | |
*/ | |
double getSeasonalModulationFloor(); | |
/** | |
* Sets the value of the '{@link org.eclipse.stem.diseasemodels.globalinfluenzamodel.GlobalInfluenzaModel#getSeasonalModulationFloor <em>Seasonal Modulation Floor</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @param value the new value of the '<em>Seasonal Modulation Floor</em>' attribute. | |
* @see #getSeasonalModulationFloor() | |
* @generated | |
*/ | |
void setSeasonalModulationFloor(double value); | |
} // GlobalInfluenzaModel | |