33 void collectCustomSpecies(
const YAML::Node & network);
34 void collectLumpedSpecies(
const YAML::Node & network);
35 void collectLatexOverrides(
const YAML::Node & network);
42 double getMass(
const std::string & name)
const;
56 const std::string getLatexOverride(
const std::string & name)
const;
67 std::weak_ptr<Species> getSpecies(
const std::string & name);
71 const std::vector<std::shared_ptr<Species>> & species()
const {
return _species; }
72 const std::vector<std::shared_ptr<const Species>> & transientSpecies()
const
74 return _transient_species;
77 const std::vector<std::string> & speciesNames()
const {
return _species_names; }
84 std::weak_ptr<Species> getLumpedSpecies(std::weak_ptr<Species> s);
97 void addRateBasedReaction(std::shared_ptr<const Reaction> r);
103 void addXSecBasedReaction(std::shared_ptr<const Reaction> r);
109 SpeciesFactory(
const SpeciesFactory &) =
delete;
110 SpeciesFactory & operator=(
const SpeciesFactory &) =
delete;
112 static SpeciesFactory * _instance;
118 void writeSpeciesSummary(
const std::string & file, SpeciesSummaryWriterBase & writer)
const;
120 std::vector<std::shared_ptr<Species>> _species;
122 std::unordered_map<std::string, SpeciesId> _species_indicies;
125 std::vector<std::string> _species_names;
128 std::vector<std::shared_ptr<const Species>> _transient_species;
130 std::map<std::string, std::string> _lumped_map;
132 std::unordered_map<std::string, std::string> _latex_overrides;
135 std::unordered_map<std::string, double> _default_masses = {{
"hnu", 0.0},
137 {
"e", 5.4857990943E-4},
138 {
"E", 5.4857990943E-4},
256 std::unordered_map<std::string, double> _base_masses = _default_masses;
The parts with a Species can be brokenup into Eg Speices: NH3, SubSpecies: [N, H3].
Definition SubSpecies.h:16