Class Bacterium

Inheritance Relationships

Base Type

Class Documentation

class Bacterium : public Host

Public Functions

Bacterium(emp::Ptr<emp::Random> _random, emp::Ptr<LysisWorld> _world, emp::Ptr<SymConfigBase> _config, double _intval = 0.0, emp::vector<emp::Ptr<Organism>> _syms = {}, emp::vector<emp::Ptr<Organism>> _repro_syms = {}, double _points = 0.0)

The constructor for the bacterium class

Bacterium(const Bacterium&) = default

Input: None

Output: None

Purpose: To force a copy constructor to be generated by the compiler.

Bacterium(Bacterium&&) = default

Input: None

Output: None

Purpose: To force a move constructor to be generated by the compiler

Bacterium() = default

Input: None

Output: None

Purpose: To tell the compiler to use its default generated variants of the constructor

std::string const GetName()

Input: None

Output: Name of class as string, Bacterium

Purpose: To know which subclass the object is

double GetIncVal()

Input: None

Output: The double representing a genome’s value.

Purpose: To determine a genome’s value.

void SetIncVal(double _in)

Input: The double to be set as the bacterium’s genome value

Output: None

Purpose: To set a bacterium’s genome value

emp::Ptr<Organism> MakeNew()

Input: None.

Output: A new bacterium with same properties as this bacterium.

Purpose: To avoid creating an organism via constructor in other methods.

void Mutate()

Input: None

Output: None

Purpose: To mutate a bacterium’s genome. The mutation will be based on a value chosen from a normal distribution centered at 0, with a standard deviation that is equal to the mutation size. Bacterium mutation can be turned on or off.

double ProcessLysogenResources(double phage_inc_val)

Protected Attributes

double host_incorporation_val = 0

Purpose: Represents the host’s genome. A double with a range from 0 to 1. The host’s genome gets compared against the phage’s incorporation value.

emp::Ptr<LysisWorld> my_world = NULL

Purpose: Represents the world that the hosts are living in.