Class TreeNode¶
- Defined in File TreeNode.h
Class Documentation¶
-
class
TreeNode
¶ The TreeNode class that acts as a data storage object for the phylogenetic tree.
Also contains all the necessary routines for changes to a lineage’s attributes, called by TreeList objects when generating new coalescence trees.
Public Functions
-
TreeNode
()¶ The default constructor.
-
~TreeNode
()¶ The default destructor.
-
void
setup
(bool z, unsigned long xp, unsigned long yp, long xi, long yi)¶ Sets up variables with initial conditions.
- Parameters
z
: whether this lineage is a tip or not (represents the end of a tree).xp
: the x position on the grid.yp
: the y position on the grid.xi
: the number of wraps in the x dimension.yi
: the number of wraps in the y dimension.
-
void
setup
(bool z)¶ Sets up variables with initial conditions.
- Parameters
z
: whether this lineage is a tip or not (represents the end of a tree)
-
void
setup
(const bool &is_tip, const long &xp, const long &yp, const long &xi, const long &yi, const long double &generation)¶ Overloaded setup() function, additionally taking a generation time point.
Used when creating lineages after the start of the simulation, when the generation is not 0.
- Parameters
is_tip
: whether this lineage is a tip or not (represents the end of a tree).xp
: the x position on the grid.yp
: the y position on the grid.xi
: the number of wraps in the x dimension.yi
: the number of wraps in the y dimension.generation
: the current generation at creation time.
-
void
setExistence
(bool b)¶ Setter for the existence of the lineage.
- Parameters
b
: existence boolean.
-
void
setParent
(unsigned long x)¶ Setter for the parent reference.
- Parameters
x
: a reference for the parent location.
-
void
qReset
()¶ Resets the lineage. Remove any species ID, existence and speciation record.
-
void
setPosition
(long x, long y, long xw, long yw)¶ Set a new position for the lineage.
- Parameters
x
: the x position on the grid.y
: the y position on the grid.xw
: the number of wraps in the x dimension.yw
: the number of wraps in the y dimension.
-
void
setSpec
(long double d)¶ Setter for the randomly generated number (from NRrand.d0()) for the speciation probability for this lineage.
- Parameters
d
: the speciation probability.
-
void
setGenerationRate
(unsigned long g)¶ Setter for the number of generations this lineage has existed for.
- Parameters
g
: the number of generations that the lineage has existed.
-
void
setGeneration
(long double d)¶ Setter for the birth generation timer for the lineage.
Note that moves that don’t involve coalescence do not create a new Treenode object, and therefore the generation_added does not get updated. However, coalescence events will cause a new Treenode object creation. The lineage birth generation is generally only important for calculating the age of tips.
- Parameters
d
:
-
void
setSpeciation
(bool s)¶ Setter for the speciation boolean.
- Parameters
s
: the speciation boolean.
-
void
burnSpecies
(unsigned long idin)¶ Setter for the species ID. Once set to something other than 0, this cannot be changed with a call to qReset() or resetSpecies().
- Parameters
idin
: the species ID.
-
void
setTip
(bool b)¶ Setter for the tip boolean.
- Parameters
b
: the tip boolean.
-
void
resetSpecies
()¶ Reset the species ID to 0.
-
void
increaseGen
()¶ Increases the generation counter by one.
-
bool
exists
() const¶ Getter for the existence boolean.
- Return
- the existence boolean.
-
bool
isTip
() const¶ Getter for the tip boolean.
- Return
- the tip boolean.
-
unsigned long
getParent
() const¶ Getter for the parent location.
- Return
- the parent reference.
-
unsigned long
getXpos
() const¶ Getter for the x position.
- Return
- the x position.
-
unsigned long
getYpos
() const¶ Getter for the y position.
- Return
- the y position.
-
long
getXwrap
() const¶ Getter for the number of times the lineage is wrapped in the x dimension.
- Return
- the number of times the lineage is wrapped in the x dimension.
-
long
getYwrap
() const¶ Getter for the number of times the lineage is wrapped in the y dimension.
- Return
- the number of times the lineage is wrapped in the y dimension.
-
bool
hasSpeciated
() const¶ Getter for the speciation boolean.
- Return
- the speciation boolean.
-
unsigned long
getSpeciesID
() const¶ Getter for the species ID.
- Return
- the species ID.
-
long double
getSpecRate
() const¶ Getter for the randomly generated speciation probability.
- Return
- the speciation probability.
-
unsigned long
getGenerationRate
() const¶ Getter for the number of generations the lineage has existed.
- Return
- the number of generations of existence.
-
long double
getGeneration
() const¶ Getter for the generation the lineage was created.
- Return
- the generation counter the lineage was created.
-
void
speciate
()¶ Sets the speciation boolean to true.
Friends
-
ostream &
operator<<
(ostream &os, const TreeNode &t)¶ Overloading the << operator for outputting a Treenode object to an output stream.
- Return
- the output stream.
- Parameters
os
: the output stream.t
: a Treenode object to output.
-
istream &
operator>>
(istream &is, TreeNode &t)¶ Overloading the >> operator for inputting the Treenode object from an input stream.
- Return
- the input stream.
- Parameters
is
: the input stream.t
: a Treenode object to input to.
-