5 #ifndef BPP_PHYL_MODEL_POMO_H
6 #define BPP_PHYL_MODEL_POMO_H
91 std::unique_ptr<SubstitutionModelInterface>
pmodel_;
98 POMO(std::shared_ptr<const AllelicAlphabet> allAlph,
99 std::unique_ptr<SubstitutionModelInterface> pmodel,
100 std::unique_ptr<FrequencySetInterface> pfitness);
121 return new POMO(*
this);
126 void setFreq(std::map<int, double>& frequencies)
override;
138 return std::dynamic_pointer_cast<const AllelicAlphabet>(
alphabet_);
AbstractParameterAliasable & operator=(const AbstractParameterAliasable &ap)
void setNamespace(const std::string &prefix)
std::shared_ptr< const Alphabet > alphabet_
The alphabet relevant to this model.
Parametrize a set of state frequencies.
const AllelicAlphabet & allelicAlphabet() const
void fireParameterChanged(const ParameterList ¶meters) override
Tells the model that a parameter value has changed.
POMO & operator=(const POMO &model)
const FrequencySetInterface & fitness() const
POMO * clone() const override
std::unique_ptr< FrequencySetInterface > pfitness_
std::unique_ptr< SubstitutionModelInterface > pmodel_
std::shared_ptr< const AllelicAlphabet > getAllelicAlphabet() const
const SubstitutionModelInterface & mutationModel() const
void setNamespace(const std::string &prefix) override
std::string getName() const override
Get the name of the model.
void updateMatrices_() override
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
uint getNbAlleles() const
void setFreq(std::map< int, double > &frequencies) override
Set equilibrium frequencies.
POMO(std::shared_ptr< const AllelicAlphabet > allAlph, std::unique_ptr< SubstitutionModelInterface > pmodel, std::unique_ptr< FrequencySetInterface > pfitness)
Build a POMO instance.
Interface for all substitution models.
Defines the basic types of data flow nodes.