5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PARTITIONPROCESSPHYLOLIKELIHOOD_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PARTITIONPROCESSPHYLOLIKELIHOOD_H
9 #include "../PartitionSequenceEvolution.h"
41 std::shared_ptr<PartitionSequenceEvolution>
mSeqEvol_;
52 std::map<size_t, std::shared_ptr<AlignmentDataInterface>>
mData_;
57 mutable std::shared_ptr<AlignedLikelihoodCalculation>
likCal_;
62 std::shared_ptr<PartitionSequenceEvolution> processSeqEvol,
67 std::shared_ptr<const AlignmentDataInterface> data,
68 std::shared_ptr<PartitionSequenceEvolution> processSeqEvol,
73 std::shared_ptr<const AlignmentDataInterface> data,
74 std::shared_ptr<PartitionSequenceEvolution> processSeqEvol,
75 std::shared_ptr<CollectionNodes> collNodes,
116 void setData(std::shared_ptr<const AlignmentDataInterface> data,
size_t nData = 0)
override;
135 return dynamic_pointer_cast<const SingleProcessPhyloLikelihood>(
getPhyloLikelihood(
vProcPos_[siteIndex].nProc))->getLikelihoodCalculationSingleProcess();
143 std::shared_ptr<const AlignmentDataInterface>
getData()
const override
The PhyloLikelihoodSet class, to manage a subset of PhyloLikelihoods from a given PhyloLikelihoodCont...
std::shared_ptr< const PhyloLikelihoodInterface > getPhyloLikelihood(size_t nPhyl) const override
std::shared_ptr< PhyloLikelihoodContainer > getPhyloContainer() override
const std::vector< size_t > & getNumbersOfPhyloLikelihoods() const override
AbstractPhyloLikelihoodSet & operator=(const AbstractPhyloLikelihoodSet &sd)
const Context & context() const override
AbstractSequencePhyloLikelihood & operator=(const AbstractSequencePhyloLikelihood &aspl)
Context for dataflow node construction.
std::shared_ptr< const AlignmentDataInterface > getData() const override
Get the dataset for which the likelihood must be evaluated.
std::shared_ptr< const SingleProcessPhyloLikelihood > getPhyloLikelihoodForASite(size_t siteIndex) const
PartitionProcessPhyloLikelihood(Context &context, std::shared_ptr< PartitionSequenceEvolution > processSeqEvol, size_t nSeqEvol=0)
const std::vector< ProcPos > & getProcessSiteRelations() const
std::shared_ptr< LikelihoodCalculationSingleProcess > getLikelihoodCalculationForASite(size_t siteIndex) const
PartitionProcessPhyloLikelihood & operator=(const PartitionProcessPhyloLikelihood &lik)
PartitionProcessPhyloLikelihood * clone() const override
std::vector< ProcPos > vProcPos_
std::shared_ptr< AlignedLikelihoodCalculation > likCal_
void setData(std::shared_ptr< const AlignmentDataInterface > data, size_t nData=0) override
Set the dataset for which the likelihood must be evaluated.
size_t getNumberOfSites() const override
Get the number of sites in the dataset.
std::shared_ptr< LikelihoodCalculation > getLikelihoodCalculation() const override
std::map< size_t, std::shared_ptr< AlignmentDataInterface > > mData_
AlignedLikelihoodCalculation & alignedLikelihoodCalculation() const override
virtual ~PartitionProcessPhyloLikelihood()
LikelihoodCalculation & likelihoodCalculation() const override
std::shared_ptr< PartitionSequenceEvolution > mSeqEvol_
to avoid the dynamic casts
PartitionProcessPhyloLikelihood(const PartitionProcessPhyloLikelihood &lik)
std::shared_ptr< AlignedLikelihoodCalculation > getAlignedLikelihoodCalculation() const override
std::shared_ptr< PartitionSequenceEvolution > getPartitionSequenceEvolution() const
Defines the basic types of data flow nodes.
Likelihood framework based on a partition of a sequence in simple likelihoods.