5 #ifndef BPP_PHYL_SIMULATION_SITESIMULATOR_H
6 #define BPP_PHYL_SIMULATION_SITESIMULATOR_H
34 virtual std::unique_ptr<Site>
simulateSite(
size_t rateClass)
const = 0;
38 virtual std::unique_ptr<Site>
simulateSite(
size_t ancestralStateIndex,
double rate)
const = 0;
42 virtual std::shared_ptr<const Alphabet>
getAlphabet()
const = 0;
The SiteSimulator interface. SiteSimulator classes can simulate single sites.
virtual std::unique_ptr< Site > simulateSite(double rate) const =0
virtual ~SiteSimulatorInterface()
virtual std::unique_ptr< Site > simulateSite(size_t ancestralStateIndex, double rate) const =0
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
virtual void outputInternalSites(bool yn)=0
virtual std::unique_ptr< Site > simulateSite() const =0
SiteSimulatorInterface * clone() const override=0
virtual std::unique_ptr< Site > simulateSite(size_t rateClass) const =0
virtual const Alphabet & alphabet() const =0
virtual std::vector< std::string > getSequenceNames() const =0
Defines the basic types of data flow nodes.