5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_MIXTUREPROCESSPHYLOLIKELIHOOD_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_MIXTUREPROCESSPHYLOLIKELIHOOD_H
9 #include "../DataFlow/Simplex_DF.h"
10 #include "../MixtureSequenceEvolution.h"
36 std::shared_ptr<MixtureSequenceEvolution>
mSeqEvol_;
46 mutable std::shared_ptr<AlignedLikelihoodCalculation>
likCal_;
50 std::shared_ptr<const AlignmentDataInterface> data,
51 std::shared_ptr<MixtureSequenceEvolution> processSeqEvol,
52 std::shared_ptr<CollectionNodes> collNodes,
89 return simplex_->targetValue()->prob(i);
Likelihood framework based on a mixture of simple likelihoods.
LikelihoodCalculation & likelihoodCalculation() const override
std::shared_ptr< AlignedLikelihoodCalculation > likCal_
std::shared_ptr< ConfiguredSimplex > simplex_
MixtureProcessPhyloLikelihood(std::shared_ptr< const AlignmentDataInterface > data, std::shared_ptr< MixtureSequenceEvolution > processSeqEvol, std::shared_ptr< CollectionNodes > collNodes, size_t nSeqEvol=0, size_t nData=0)
MixtureProcessPhyloLikelihood & operator=(const MixtureProcessPhyloLikelihood &mlc)
AlignedLikelihoodCalculation & alignedLikelihoodCalculation() const override
std::shared_ptr< AlignedLikelihoodCalculation > getAlignedLikelihoodCalculation() const override
double getSubProcessProb(size_t i) const
return the probability of a subprocess
std::shared_ptr< MixtureSequenceEvolution > mSeqEvol_
to avoid the dynamic casts
VVdouble getPosteriorProbabilitiesPerSitePerProcess() const override
return the posterior probabilities of subprocess on each site.
std::shared_ptr< LikelihoodCalculation > getLikelihoodCalculation() const override
MixtureProcessPhyloLikelihood(const MixtureProcessPhyloLikelihood &mlc)
MixtureProcessPhyloLikelihood * clone() const override
Partial implementation of the Likelihood interface for multiple processes.
MultiProcessSequencePhyloLikelihood & operator=(const MultiProcessSequencePhyloLikelihood &mpspl)
Defines the basic types of data flow nodes.
std::vector< Vdouble > VVdouble