bpp-phyl3  3.0.0
HmmEmissionProbabilities_Eigen.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_LIKELIHOOD_HMMEMISSIONPROBABILITIES_EIGEN_H
6 #define BPP_PHYL_LIKELIHOOD_HMMEMISSIONPROBABILITIES_EIGEN_H
7 
11 
12 
13 // From the STL:
14 #include <vector>
15 
16 namespace bpp
17 {
30  public virtual Parametrizable
31 {
32 public:
33  virtual HmmEmissionProbabilities_Eigen* clone() const = 0;
34 
35  virtual const HmmStateAlphabet* getHmmStateAlphabet() const = 0;
36 
43  virtual void setHmmStateAlphabet(std::shared_ptr<HmmStateAlphabet> stateAlphabet) = 0;
44 
55  virtual DataLik operator()(size_t pos, size_t state) const = 0;
56 
67  virtual VectorLik operator()(size_t pos) const = 0;
68 
72  virtual size_t getNumberOfPositions() const = 0;
73 };
74 } // end of namespace bpp.
75 #endif // BPP_PHYL_LIKELIHOOD_HMMEMISSIONPROBABILITIES_EIGEN_H
Interface for computing emission probabilities in a Hidden Markov Model.
virtual HmmEmissionProbabilities_Eigen * clone() const =0
virtual void setHmmStateAlphabet(std::shared_ptr< HmmStateAlphabet > stateAlphabet)=0
Set the new hidden state alphabet.
virtual VectorLik operator()(size_t pos) const =0
Operator access to the emission probabilities.
virtual size_t getNumberOfPositions() const =0
virtual const HmmStateAlphabet * getHmmStateAlphabet() const =0
virtual DataLik operator()(size_t pos, size_t state) const =0
Operator access to the emission probabilities.
Defines the basic types of data flow nodes.