bpp-phyl3  3.0.0
AncestralStateReconstruction.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 _LEGACY_ANCESTRAL_STATES_RECONSTRUCTION_H_
6 #define _LEGACY_ANCESTRAL_STATES_RECONSTRUCTION_H_
7 
8 // From SeqLib:
9 #include <Bpp/Seq/Sequence.h>
11 
12 // From the STL:
13 #include <vector>
14 #include <map>
15 
16 namespace bpp
17 {
18 class Node;
19 
24 {
25 public:
28 
29 public:
42  virtual std::vector<size_t> getAncestralStatesForNode(int nodeId) const = 0;
43 
52  virtual std::map<int, std::vector<size_t>> getAllAncestralStates() const = 0;
53 
60  virtual std::unique_ptr<Sequence> getAncestralSequenceForNode(int nodeId) const = 0;
61 
67  virtual std::unique_ptr<SiteContainerInterface> getAncestralSequences() const = 0;
68 };
69 } // end of namespace bpp.
70 
71 #endif // _LEGACY_ANCESTRAL_STATES_RECONSTRUCTION_H_
Interface for ancestral states reconstruction methods.
virtual std::vector< size_t > getAncestralStatesForNode(int nodeId) const =0
Get ancestral states for a given node as a vector of int.
virtual std::unique_ptr< Sequence > getAncestralSequenceForNode(int nodeId) const =0
Get the ancestral sequence for a given node.
virtual std::unique_ptr< SiteContainerInterface > getAncestralSequences() const =0
Get all the ancestral sequences for all nodes.
virtual std::map< int, std::vector< size_t > > getAllAncestralStates() const =0
Get all ancestral states for all nodes.
Defines the basic types of data flow nodes.