bpp-phyl3 3.0.0
AlignedPhyloLikelihoodProduct.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_PHYLOLIKELIHOODS_PRODUCTOFALIGNEDPHYLOLIKELIHOOD_H
6#define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PRODUCTOFALIGNEDPHYLOLIKELIHOOD_H
7
8
9// From bpp-seq:
12
14
15namespace bpp
16{
23{
27 mutable std::shared_ptr<AlignedLikelihoodCalculation> likCal_;
28
29public:
32 std::shared_ptr<PhyloLikelihoodContainer> pC,
33 bool inCollection = true);
34
37 std::shared_ptr<PhyloLikelihoodContainer> pC,
38 const std::vector<size_t>& nPhylo,
39 bool inCollection = true);
40
42
43protected:
51 {}
52
54 {
56 likCal_ = sd.likCal_;
57 return *this;
58 }
59
61 {
62 return new AlignedPhyloLikelihoodProduct(*this);
63 }
64
65public:
67 {
68 return *likCal_;
69 }
70
71 std::shared_ptr<LikelihoodCalculation> getLikelihoodCalculation () const
72 {
73 return likCal_;
74 }
75
77 {
78 return *likCal_;
79 }
80
81 std::shared_ptr<AlignedLikelihoodCalculation> getAlignedLikelihoodCalculation () const
82 {
83 return likCal_;
84 }
85};
86} // end of namespace bpp.
87#endif // BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PRODUCTOFALIGNEDPHYLOLIKELIHOOD_H
The AlignedPhyloLikelihoodSet abstract class.
AbstractAlignedPhyloLikelihoodSet & operator=(const AbstractAlignedPhyloLikelihoodSet &soap)
The PhyloLikelihoodSet class, to manage a subset of PhyloLikelihoods from a given PhyloLikelihoodCont...
const Context & context() const override
The AlignedPhyloLikelihoodProduct class, for phylogenetic likelihood on several independent data.
AlignedPhyloLikelihoodProduct(const AlignedPhyloLikelihoodProduct &sd)
AlignedPhyloLikelihoodProduct & operator=(const AlignedPhyloLikelihoodProduct &sd)
std::shared_ptr< AlignedLikelihoodCalculation > getAlignedLikelihoodCalculation() const
std::shared_ptr< AlignedLikelihoodCalculation > likCal_
std::shared_ptr< LikelihoodCalculation > getLikelihoodCalculation() const
AlignedPhyloLikelihoodProduct * clone() const
AlignedLikelihoodCalculation & alignedLikelihoodCalculation() const
AlignedPhyloLikelihoodProduct(Context &context, std::shared_ptr< PhyloLikelihoodContainer > pC, bool inCollection=true)
LikelihoodCalculation & likelihoodCalculation() const
Context for dataflow node construction.
Definition: DataFlow.h:527
Defines the basic types of data flow nodes.