5 #ifndef BPP_PHYL_MAPPING_SUBSTITUTIONCOUNT_H
6 #define BPP_PHYL_MAPPING_SUBSTITUTIONCOUNT_H
10 #include "../Model/SubstitutionModel.h"
146 std::shared_ptr<const SubstitutionRegisterInterface>
register_;
Partial implementation of the SubstitutionCount interface.
std::shared_ptr< const SubstitutionRegisterInterface > register_
AbstractSubstitutionCount(std::shared_ptr< const SubstitutionRegisterInterface > reg)
virtual ~AbstractSubstitutionCount()
void setSubstitutionRegister(std::shared_ptr< const SubstitutionRegisterInterface > reg)
attribution of a SubstitutionRegister
virtual void substitutionRegisterHasChanged()=0
bool hasSubstitutionRegister() const
std::shared_ptr< const SubstitutionRegisterInterface > getSubstitutionRegister() const
The SubstitutionsCount interface.
virtual double getNumberOfSubstitutions(size_t initialState, size_t finalState, double length, size_t type) const =0
Get the number of susbstitutions on a branch, given the initial and final states, and the branch leng...
virtual ~SubstitutionCountInterface()
virtual SubstitutionCountInterface * clone() const =0
virtual std::vector< double > getNumberOfSubstitutionsPerType(size_t initialState, size_t finalState, double length) const =0
Get the numbers of susbstitutions on a branch for all types, for an initial and final states,...
virtual bool hasSubstitutionRegister() const =0
virtual std::shared_ptr< const Alphabet > getAlphabet() const
Short cut function, equivalent to getSubstitutionRegister()->getAlphabet().
virtual size_t getNumberOfSubstitutionTypes() const
Short cut function, equivalent to getSubstitutionRegister().getNumberOfSubstitutionTypes().
virtual std::unique_ptr< Matrix< double > > getAllNumbersOfSubstitutions(double length, size_t type) const =0
Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branc...
virtual size_t getNumberOfStates() const
Short cut function, equivalent to getSubstitutionRegister()->getAlphabet()->getSize().
virtual void setSubstitutionModel(std::shared_ptr< const SubstitutionModelInterface > model)=0
Set the substitution model associated with this count, if relevant.
SubstitutionCountInterface()
virtual void setSubstitutionRegister(std::shared_ptr< const SubstitutionRegisterInterface > reg)=0
virtual void storeAllNumbersOfSubstitutions(double length, size_t type, Eigen::MatrixXd &mat) const =0
Stores the numbers of susbstitutions on a branch, for each initial and final states,...
virtual std::shared_ptr< const SubstitutionRegisterInterface > getSubstitutionRegister() const =0
Defines the basic types of data flow nodes.