5 #ifndef BPP_NUMERIC_HMM_HMMEMISSIONPROBABILITIES_H 6 #define BPP_NUMERIC_HMM_HMMEMISSIONPROBABILITIES_H 9 #include "../Parametrizable.h" 50 virtual void setHmmStateAlphabet(std::shared_ptr<const HmmStateAlphabet> stateAlphabet) = 0;
61 virtual double operator()(
size_t pos,
size_t state)
const = 0;
70 throw (
NotImplementedException(
"HmmEmissionProbabilities::computeD2EmissionProbabilities is not overdefined."));
92 virtual const std::vector<double>&
operator()(
size_t pos)
const = 0;
100 #endif // BPP_NUMERIC_HMM_HMMEMISSIONPROBABILITIES_H
virtual const std::vector< double > & getDEmissionProbabilities(size_t pos) const
Interface for computing emission probabilities in a Hidden Markov Model.
This is the interface for all objects that imply parameters.
virtual double operator()(size_t pos, size_t state) const =0
Operator access to the emission probabilities.
This exception is sent when a given method is not implemented.
virtual HmmEmissionProbabilities * clone() const override=0
Create a copy of this object and send a pointer to it.
virtual void computeDEmissionProbabilities(std::string &variable) const
virtual size_t getNumberOfPositions() const =0
virtual const std::vector< double > & getD2EmissionProbabilities(size_t pos) const
virtual std::shared_ptr< const HmmStateAlphabet > getHmmStateAlphabet() const =0
virtual const HmmStateAlphabet & hmmStateAlphabet() const =0
virtual void computeD2EmissionProbabilities(std::string &variable) const
virtual void setHmmStateAlphabet(std::shared_ptr< const HmmStateAlphabet > stateAlphabet)=0
Set the new hidden state alphabet.