bpp-phyl3  3.0.0
OneProcessSequenceEvolution.cpp
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
6 
7 using namespace bpp;
8 using namespace std;
9 
10 OneProcessSequenceEvolution::OneProcessSequenceEvolution(std::shared_ptr<SubstitutionProcessInterface> process, size_t nProc) :
12  subsProc_(process),
13  nProc_(nProc),
14  vProc_(std::vector<size_t>(1, nProc_))
15 {
16  includeParameters_(process->getSubstitutionModelParameters(true));
17  includeParameters_(process->getRateDistributionParameters(true));
18  includeParameters_(process->getRootFrequenciesParameters(true));
19  includeParameters_(process->getBranchLengthParameters(true));
20 }
21 
24  subsProc_(evol.subsProc_),
25  nProc_(evol.nProc_),
26  vProc_(evol.vProc_)
27 {}
28 
30 {
32  subsProc_ = evol.subsProc_;
33  nProc_ = evol.nProc_;
34  vProc_ = evol.vProc_;
35 
36  return *this;
37 }
void includeParameters_(const ParameterList &parameters)
AbstractParameterAliasable & operator=(const AbstractParameterAliasable &ap)
Evolution of a sequence performed by a unique SubstitutionProcess all along the sequence.
OneProcessSequenceEvolution(std::shared_ptr< SubstitutionProcessInterface > process, size_t nProc=0)
std::shared_ptr< SubstitutionProcessInterface > subsProc_
size_t nProc_
the substitution process number.
OneProcessSequenceEvolution & operator=(const OneProcessSequenceEvolution &evol)
std::vector< size_t > vProc_
not nice, for inheritance compatibility.
Defines the basic types of data flow nodes.