Package io.github.ai4ci.abm
Class ImmutableOutbreakBaseline
java.lang.Object
io.github.ai4ci.abm.ImmutableOutbreakBaseline
- All Implemented Interfaces:
OutbreakBaseline
,Serializable
@ParametersAreNonnullByDefault
@Generated("org.immutables.processor.ProxyProcessor")
@Immutable
@CheckReturnValue
public final class ImmutableOutbreakBaseline
extends Object
implements OutbreakBaseline
Immutable implementation of
OutbreakBaseline
.
Use the builder to create immutable instances:
ImmutableOutbreakBaseline.builder()
.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Builds instances of typeImmutableOutbreakBaseline
. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Creates a builder forImmutableOutbreakBaseline
.static ImmutableOutbreakBaseline
copyOf
(OutbreakBaseline instance) Creates an immutable copy of aOutbreakBaseline
value.boolean
This instance is equal to all instances ofImmutableOutbreakBaseline
that have equal attribute values.double
Used in calibration of risk models, to help determine the information value of a contact's risk.int
Calibrated from the 95% quantile of the infectivity profile of the in host model run over a set of unadjusted parametersdouble
Calibrated from the infection case ratio and the case fatality rate this gives a simulation wide cutoff that the average person will experience symptoms bad enough to die.double
Calibrated from the infection case ratio and the case hospitalisation rate this gives a simulation wide cutoff that the average person will experience symptoms bad enough to require hospitalisation.double
Calibrated from the infection case ratio this gives a simulation wide cutoff that the average person will experience symptoms.int
Calibrated from the 95% quantile of the severity profile of the in host model run over a set of unadjusted parametersdouble
This value is a scale factor for the viral load to make a probability that a transmission will occur given a particular viral load.int
hashCode()
Computes a hash code from attributes:viralLoadTransmissibilityProbabilityFactor
,expectedContactsPerPersonPerDay
,severitySymptomsCutoff
,severityHospitalisationCutoff
,severityDeathCutoff
,defaultPolicyState
,infectiveDuration
,symptomDuration
.Creates a builder forImmutableOutbreakBaseline
.prefilled with attibute values ofthis
instance to easily create modified copies.toString()
Prints the immutable valueOutbreakBaseline
with attribute values.Copy the current immutable object by setting a value for thedefaultPolicyState
attribute.withExpectedContactsPerPersonPerDay
(double value) Copy the current immutable object by setting a value for theexpectedContactsPerPersonPerDay
attribute.withInfectiveDuration
(int value) Copy the current immutable object by setting a value for theinfectiveDuration
attribute.withSeverityDeathCutoff
(double value) Copy the current immutable object by setting a value for theseverityDeathCutoff
attribute.withSeverityHospitalisationCutoff
(double value) Copy the current immutable object by setting a value for theseverityHospitalisationCutoff
attribute.withSeveritySymptomsCutoff
(double value) Copy the current immutable object by setting a value for theseveritySymptomsCutoff
attribute.withSymptomDuration
(int value) Copy the current immutable object by setting a value for thesymptomDuration
attribute.withViralLoadTransmissibilityProbabilityFactor
(double value) Copy the current immutable object by setting a value for theviralLoadTransmissibilityProbabilityFactor
attribute.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.github.ai4ci.abm.OutbreakBaseline
getTransmissibilityBaseline
-
Method Details
-
getViralLoadTransmissibilityProbabilityFactor
public double getViralLoadTransmissibilityProbabilityFactor()This value is a scale factor for the viral load to make a probability that a transmission will occur given a particular viral load.- Specified by:
getViralLoadTransmissibilityProbabilityFactor
in interfaceOutbreakBaseline
-
getExpectedContactsPerPersonPerDay
public double getExpectedContactsPerPersonPerDay()Used in calibration of risk models, to help determine the information value of a contact's risk.- Specified by:
getExpectedContactsPerPersonPerDay
in interfaceOutbreakBaseline
-
getSeveritySymptomsCutoff
public double getSeveritySymptomsCutoff()Calibrated from the infection case ratio this gives a simulation wide cutoff that the average person will experience symptoms. Obtained from the running the in host model over a set of samples.- Specified by:
getSeveritySymptomsCutoff
in interfaceOutbreakBaseline
- Returns:
-
getSeverityHospitalisationCutoff
public double getSeverityHospitalisationCutoff()Calibrated from the infection case ratio and the case hospitalisation rate this gives a simulation wide cutoff that the average person will experience symptoms bad enough to require hospitalisation.- Specified by:
getSeverityHospitalisationCutoff
in interfaceOutbreakBaseline
- Returns:
-
getSeverityDeathCutoff
public double getSeverityDeathCutoff()Calibrated from the infection case ratio and the case fatality rate this gives a simulation wide cutoff that the average person will experience symptoms bad enough to die.- Specified by:
getSeverityDeathCutoff
in interfaceOutbreakBaseline
-
getDefaultPolicyState
- Specified by:
getDefaultPolicyState
in interfaceOutbreakBaseline
- Returns:
- The value of the
defaultPolicyState
attribute
-
getInfectiveDuration
public int getInfectiveDuration()Calibrated from the 95% quantile of the infectivity profile of the in host model run over a set of unadjusted parameters- Specified by:
getInfectiveDuration
in interfaceOutbreakBaseline
-
getSymptomDuration
public int getSymptomDuration()Calibrated from the 95% quantile of the severity profile of the in host model run over a set of unadjusted parameters- Specified by:
getSymptomDuration
in interfaceOutbreakBaseline
-
withViralLoadTransmissibilityProbabilityFactor
Copy the current immutable object by setting a value for theviralLoadTransmissibilityProbabilityFactor
attribute. A value strict bits equality used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for viralLoadTransmissibilityProbabilityFactor- Returns:
- A modified copy of the
this
object
-
withExpectedContactsPerPersonPerDay
Copy the current immutable object by setting a value for theexpectedContactsPerPersonPerDay
attribute. A value strict bits equality used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for expectedContactsPerPersonPerDay- Returns:
- A modified copy of the
this
object
-
withSeveritySymptomsCutoff
Copy the current immutable object by setting a value for theseveritySymptomsCutoff
attribute. A value strict bits equality used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for severitySymptomsCutoff- Returns:
- A modified copy of the
this
object
-
withSeverityHospitalisationCutoff
Copy the current immutable object by setting a value for theseverityHospitalisationCutoff
attribute. A value strict bits equality used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for severityHospitalisationCutoff- Returns:
- A modified copy of the
this
object
-
withSeverityDeathCutoff
Copy the current immutable object by setting a value for theseverityDeathCutoff
attribute. A value strict bits equality used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for severityDeathCutoff- Returns:
- A modified copy of the
this
object
-
withDefaultPolicyState
Copy the current immutable object by setting a value for thedefaultPolicyState
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for defaultPolicyState- Returns:
- A modified copy of the
this
object
-
withInfectiveDuration
Copy the current immutable object by setting a value for theinfectiveDuration
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for infectiveDuration- Returns:
- A modified copy of the
this
object
-
withSymptomDuration
Copy the current immutable object by setting a value for thesymptomDuration
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for symptomDuration- Returns:
- A modified copy of the
this
object
-
equals
This instance is equal to all instances ofImmutableOutbreakBaseline
that have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:viralLoadTransmissibilityProbabilityFactor
,expectedContactsPerPersonPerDay
,severitySymptomsCutoff
,severityHospitalisationCutoff
,severityDeathCutoff
,defaultPolicyState
,infectiveDuration
,symptomDuration
. -
toString
Prints the immutable valueOutbreakBaseline
with attribute values. -
copyOf
Creates an immutable copy of aOutbreakBaseline
value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance
- The instance to copy- Returns:
- A copied immutable OutbreakBaseline instance
-
toBuilder
Creates a builder forImmutableOutbreakBaseline
.prefilled with attibute values ofthis
instance to easily create modified copies.- Returns:
- A new ImmutableOutbreakBaseline builder with attributes of
this
instance
-
builder
Creates a builder forImmutableOutbreakBaseline
.ImmutableOutbreakBaseline.builder() .setViralLoadTransmissibilityProbabilityFactor(double) // required
viralLoadTransmissibilityProbabilityFactor
.setExpectedContactsPerPersonPerDay(double) // requiredexpectedContactsPerPersonPerDay
.setSeveritySymptomsCutoff(double) // requiredseveritySymptomsCutoff
.setSeverityHospitalisationCutoff(double) // requiredseverityHospitalisationCutoff
.setSeverityDeathCutoff(double) // requiredseverityDeathCutoff
.setDefaultPolicyState(io.github.ai4ci.abm.mechanics.StateMachine.PolicyState) // requireddefaultPolicyState
.setInfectiveDuration(int) // requiredinfectiveDuration
.setSymptomDuration(int) // requiredsymptomDuration
.build();- Returns:
- A new ImmutableOutbreakBaseline builder
-