Empirical
|
#include <Systematics.h>
Public Types | |
using | data_node_t = DataNode< double, data::Current, data::Info, data::Range, data::Stats, data::Pull > |
using | data_ptr_t = Ptr< data_node_t > |
Public Member Functions | |
SystematicsBase (bool _active=true, bool _anc=true, bool _all=false, bool _pos=true) | |
virtual | ~SystematicsBase () |
bool | GetTrackSynchronous () const |
Are we tracking a synchronous population? More... | |
bool | GetStoreActive () const |
Are we storing all taxa that are still alive in the population? More... | |
bool | GetStoreAncestors () const |
Are we storing all taxa that are the ancestors of living organims in the population? More... | |
bool | GetStoreOutside () const |
Are we storing all taxa that have died out, as have all of their descendants. More... | |
bool | GetArchive () const |
Are we storing any taxa types that have died out? More... | |
bool | GetStorePosition () const |
Are we storing the positions of taxa? More... | |
size_t | GetTotalOrgs () const |
How many living organisms are currently being tracked? More... | |
size_t | GetNumRoots () const |
How many independent trees are being tracked? More... | |
double | GetAveDepth () const |
What is the average phylogenetic depth of organisms in the population? More... | |
void | SetTrackSynchronous (bool new_val) |
Are we tracking organisms evolving in synchronous generations? More... | |
void | SetStoreActive (bool new_val) |
Are we storing all taxa that are still alive in the population? More... | |
void | SetStoreAncestors (bool new_val) |
Are we storing all taxa that are the ancestors of living organims in the population? More... | |
void | SetStoreOutside (bool new_val) |
Are we storing all taxa that have died out, as have all of their descendants. More... | |
void | SetArchive (bool new_val) |
Are we storing any taxa types that have died out? More... | |
void | SetStorePosition (bool new_val) |
Are we storing the location of taxa? More... | |
data_ptr_t | AddDataNode (const std::string &name) |
data_ptr_t | AddDataNode (std::function< emp::vector< double >()> pull_set_fun, const std::string &name) |
data_ptr_t | AddDataNode (std::function< double()> pull_fun, const std::string &name) |
data_ptr_t | GetDataNode (const std::string &name) |
virtual data_ptr_t | AddEvolutionaryDistinctivenessDataNode (const std::string &name="evolutionary_distinctiveness")=0 |
virtual data_ptr_t | AddPairwiseDistanceDataNode (const std::string &name="pairwise_distance")=0 |
virtual data_ptr_t | AddPhylogeneticDiversityDataNode (const std::string &name="phylogenetic_diversity")=0 |
virtual data_ptr_t | AddDeleteriousStepDataNode (const std::string &name="deleterious_steps")=0 |
virtual data_ptr_t | AddVolatilityDataNode (const std::string &name="volatility")=0 |
virtual data_ptr_t | AddUniqueTaxaDataNode (const std::string &name="unique_taxa")=0 |
virtual data_ptr_t | AddMutationCountDataNode (const std::string &name="mutation_count", const std::string &mutation="substitution")=0 |
virtual size_t | GetNumActive () const =0 |
virtual size_t | GetNumAncestors () const =0 |
virtual size_t | GetNumOutside () const =0 |
virtual size_t | GetTreeSize () const =0 |
virtual size_t | GetNumTaxa () const =0 |
virtual int | GetPhylogeneticDiversity () const =0 |
virtual double | GetMeanPairwiseDistance (bool branch_only) const =0 |
virtual double | GetSumPairwiseDistance (bool branch_only) const =0 |
virtual double | GetVariancePairwiseDistance (bool branch_only) const =0 |
virtual emp::vector< double > | GetPairwiseDistances (bool branch_only) const =0 |
virtual int | GetMRCADepth () const =0 |
virtual void | AddOrg (ORG &&org, int pos, int update, bool next)=0 |
virtual void | AddOrg (ORG &org, int pos, int update, bool next)=0 |
virtual bool | RemoveOrg (int pos)=0 |
virtual bool | RemoveNextOrg (int pos)=0 |
virtual void | PrintStatus (std::ostream &os) const =0 |
virtual double | CalcDiversity () const =0 |
virtual void | Update ()=0 |
virtual void | SetNextParent (int pos)=0 |
Protected Attributes | |
bool | store_active |
Store all of the currently active taxa? More... | |
bool | store_ancestors |
Store all of the direct ancestors from living taxa? More... | |
bool | store_outside |
Store taxa that are extinct with no living descendants? More... | |
bool | archive |
Set to true if we are supposed to do any archiving of extinct taxa. More... | |
bool | store_position |
Keep a vector mapping positions to pointers. More... | |
bool | track_synchronous |
Does this systematics manager need to keep track of current and next positions? More... | |
size_t | org_count |
How many organisms are currently active? More... | |
size_t | total_depth |
Sum of taxa depths for calculating average. More... | |
size_t | num_roots |
How many distint injected ancestors are currently in population? More... | |
size_t | next_id |
What ID value should the next new taxon have? More... | |
size_t | curr_update |
DataManager< double, data::Current, data::Info, data::Range, data::Stats, data::Pull > | data_nodes |
A base class for Systematics, maintaining information common to all systematics managers and providing virtual functaions.
using emp::SystematicsBase< ORG >::data_node_t = DataNode<double, data::Current, data::Info, data::Range, data::Stats, data::Pull> |
using emp::SystematicsBase< ORG >::data_ptr_t = Ptr<data_node_t> |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
Are we storing any taxa types that have died out?
|
inline |
What is the average phylogenetic depth of organisms in the population?
|
inline |
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
How many independent trees are being tracked?
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
Are we storing all taxa that are still alive in the population?
|
inline |
Are we storing all taxa that are the ancestors of living organims in the population?
|
inline |
Are we storing all taxa that have died out, as have all of their descendants.
|
inline |
Are we storing the positions of taxa?
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
How many living organisms are currently being tracked?
|
inline |
Are we tracking a synchronous population?
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
Are we storing any taxa types that have died out?
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
inline |
Are we storing all taxa that are still alive in the population?
|
inline |
Are we storing all taxa that are the ancestors of living organims in the population?
|
inline |
Are we storing all taxa that have died out, as have all of their descendants.
|
inline |
Are we storing the location of taxa?
|
inline |
Are we tracking organisms evolving in synchronous generations?
|
pure virtual |
Implemented in emp::Systematics< ORG, ORG_INFO, DATA_STRUCT >.
|
protected |
Set to true if we are supposed to do any archiving of extinct taxa.
|
protected |
|
protected |
|
protected |
What ID value should the next new taxon have?
|
protected |
How many distint injected ancestors are currently in population?
|
protected |
How many organisms are currently active?
|
protected |
Store all of the currently active taxa?
|
protected |
Store all of the direct ancestors from living taxa?
|
protected |
Store taxa that are extinct with no living descendants?
|
protected |
Keep a vector mapping positions to pointers.
|
protected |
Sum of taxa depths for calculating average.
|
protected |
Does this systematics manager need to keep track of current and next positions?