5 #ifndef BPP_PHYL_MODEL_NUCLEOTIDE_NUCLEOTIDESUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_NUCLEOTIDE_NUCLEOTIDESUBSTITUTIONMODEL_H
9 #include "../AbstractSubstitutionModel.h"
10 #include "../SubstitutionModel.h"
56 std::shared_ptr<const NucleicAlphabet> alpha,
57 std::shared_ptr<const StateMapInterface>
stateMap,
58 const std::string& prefix) :
68 return std::dynamic_pointer_cast<const NucleicAlphabet>(
alphabet_);
81 std::shared_ptr<const NucleicAlphabet> alpha,
82 std::shared_ptr<const StateMapInterface>
stateMap,
83 const std::string& prefix) :
93 return std::dynamic_pointer_cast<const NucleicAlphabet>(
alphabet_);
Specialisation abstract class for nucleotide substitution model.
AbstractNucleotideSubstitutionModel * clone() const override=0
AbstractNucleotideSubstitutionModel(std::shared_ptr< const NucleicAlphabet > alpha, std::shared_ptr< const StateMapInterface > stateMap, const std::string &prefix)
virtual ~AbstractNucleotideSubstitutionModel()
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Specialisation abstract class for reversible nucleotide substitution model.
AbstractReversibleNucleotideSubstitutionModel * clone() const override=0
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
virtual ~AbstractReversibleNucleotideSubstitutionModel()
AbstractReversibleNucleotideSubstitutionModel(std::shared_ptr< const NucleicAlphabet > alpha, std::shared_ptr< const StateMapInterface > stateMap, const std::string &prefix)
Partial implementation of the ReversibleSubstitutionModel interface.
std::shared_ptr< const Alphabet > alphabet_
The alphabet relevant to this model.
const StateMapInterface & stateMap() const override
Specialisation interface for rversible nucleotide substitution model.
virtual ~NucleotideReversibleSubstitutionModelInterface()
NucleotideReversibleSubstitutionModelInterface * clone() const override=0
Specialisation interface for nucleotide substitution model.
virtual ~NucleotideSubstitutionModelInterface()
NucleotideSubstitutionModelInterface * clone() const override=0
virtual std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const =0
Interface for reversible substitution models.
Interface for all substitution models.
Defines the basic types of data flow nodes.