36 #ifndef _QUANTITATIVETRAIT_HPP_
37 #define _QUANTITATIVETRAIT_HPP_
40 #include "Genotype.hpp"
41 #include "DataVector.hpp"
42 #include "shared_ptr.hpp"
58 const Loci& loci()
const {
return loci_;}
61 virtual DataVectorPtr calculate_trait_values(
const GenotypeMap& genotypes,
62 size_t generation_index,
63 size_t population_index)
const = 0;
68 virtual std::string class_name()
const;
69 virtual Parameters parameters()
const;
70 virtual void configure(
const Parameters& parameters,
const Registry& registry);
80 typedef shared_ptr<QuantitativeTrait> QuantitativeTraitPtr;
81 typedef std::vector<QuantitativeTraitPtr> QuantitativeTraitPtrs;
88 DataVectorPtr
get(
const std::string& qtid)
const
91 throw std::runtime_error((
"[TraitValueMap] Quantitative trait id " + qtid +
" not found.").c_str());
97 typedef shared_ptr<TraitValueMap> TraitValueMapPtr;
100 #endif // _QUANTITATIVETRAIT_HPP_