epi-sim-0.4.2: src/Epidemic/Types/Parameter.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Epidemic.Types.Parameter where
import Epidemic.Types.Population (Population(..))
import Epidemic.Types.Time (AbsoluteTime(..))
-- | Class of types that can be considered parameterisations of a epidemic
-- model.
class (Population p) => ModelParameters a p where
rNaught :: p -> a -> AbsoluteTime -> Maybe Double
eventRate :: p -> a -> AbsoluteTime -> Maybe Rate
birthProb :: p -> a -> AbsoluteTime -> Maybe Probability
type Rate = Double
type Probability = Double