13#include "PrismConstants.h"
17#include <unordered_map>
18#include "yaml-cpp/yaml.h"
50 void setCheckRefs(
const bool check_refs) { _check_refs = check_refs; }
51 void setReadXsecFiles(
const bool read_xsec_files) { _read_xsec_files = read_xsec_files; }
67 preventInvalidDataFetch();
79 preventInvalidDataFetch();
91 preventInvalidDataFetch();
92 return _tabulated_xsec_based;
103 preventInvalidDataFetch();
104 return _function_xsec_based;
115 preventInvalidDataFetch();
116 return _tabulated_rate_based;
127 preventInvalidDataFetch();
128 return _function_rate_based;
137 const std::vector<std::shared_ptr<const Species>> &
transientSpecies()
const;
154 const std::vector<std::shared_ptr<Species>> &
species()
const;
187 bool _network_has_errors;
189 bool _network_has_bib_errors;
195 bool _read_xsec_files;
197 std::unordered_map<std::string, YAML::Node> _networks;
199 std::unordered_map<std::string, std::string> _bibs;
201 std::unordered_map<std::string, std::string> _data_paths;
203 std::unordered_map<std::string, std::string> _delimiters;
213 void checkFile(
const std::string & file)
const;
220 void checkBibFile(
const YAML::Node & network,
const std::string & file)
const;
234 void parseReactions(
const YAML::Node & inputs,
236 std::vector<std::shared_ptr<Reaction>> * rxn_list,
237 std::vector<std::shared_ptr<const Reaction>> * tabulated_rxn_list,
238 std::vector<std::shared_ptr<const Reaction>> * function_rxn_list,
239 const std::string & type,
240 const std::string & data_path,
241 const std::string & bib_file,
242 const std::string & _delimiter);
247 void (
TableWriterBase::*addReaction)(
const std::shared_ptr<const Reaction> & r),
248 const std::vector<std::shared_ptr<const Reaction>> & rxn_list)
const;
255 void preventInvalidDataFetch()
const;
260 std::vector<std::shared_ptr<Reaction>> _rate_based;
261 std::vector<std::shared_ptr<const Reaction>> _tabulated_rate_based;
262 std::vector<std::shared_ptr<const Reaction>> _function_rate_based;
263 std::vector<std::shared_ptr<Reaction>> _xsec_based;
264 std::vector<std::shared_ptr<const Reaction>> _tabulated_xsec_based;
265 std::vector<std::shared_ptr<const Reaction>> _function_xsec_based;
Class for collecting and managing cite keys from the user provided bib files.
Definition BibTexHelper.h:24
const std::vector< std::shared_ptr< Species > > & species() const
Gets all of the species in the network This function will also exist the program if there are any err...
Definition NetworkParser.C:328
void parseNetwork(const std::string &file)
Method goes through all of the reactions in this network constructs Reaction objects and then puts th...
Definition NetworkParser.C:124
void writeReactionTable(const std::string &file, TableWriterBase &writer) const
Writes the latex table representation of the reaction mechanism this method uses whatever custom tabl...
const std::vector< std::shared_ptr< Reaction > > & xsecBasedReactions() const
Gets all of the reactions in the xsec-based block that have cross section data in a file.
Definition NetworkParser.h:77
const std::vector< std::shared_ptr< const Reaction > > & functionXSecReactions() const
Gets all of the reactions in the xsec-based block that have cross section that can be represented wit...
Definition NetworkParser.h:101
void writeSpeciesSummary(const std::string &file) const
Writes a summary of the species in the network to a file this method uses whatever custom summary wri...
const std::vector< std::shared_ptr< const Reaction > > & tabulatedXSecReactions() const
Gets all of the reactions in the xsec-based block that have cross section data in a file.
Definition NetworkParser.h:89
void writeSpeciesSummary(const std::string &file, SpeciesSummaryWriterBase &writer) const
Writes a summary of the species in the network to a file this method uses whatever custom summary wri...
const std::vector< std::shared_ptr< const Reaction > > & functionRateReactions() const
Gets all of the reactions in the xsec-based block that have rate data that can be represented with a ...
Definition NetworkParser.h:125
const std::vector< std::shared_ptr< const Reaction > > & tabulatedRateReactions() const
Gets all of the reactions in the xsec-based block that have rate data in a file.
Definition NetworkParser.h:113
const std::vector< std::shared_ptr< Reaction > > & rateBasedReactions() const
Gets all of the reactions in the xsec-based block that have cross section data in a file.
Definition NetworkParser.h:65
NetworkParser()
constructor was moved to public
Definition NetworkParser.C:32
void writeReactionTable(const std::string &file) const
Writes the latex table representation of the reaction mechanism this method uses the default table wr...
const std::vector< std::string > & speciesNames() const
Gets the names of all of the species in the network This function will also exist the program if ther...
Definition NetworkParser.C:321
const std::vector< std::shared_ptr< const Species > > & transientSpecies() const
Gets all of the species in the network that have a non-zero This function will also exist the program...
Definition NetworkParser.C:335
Stores all of the data needed to perform calculations with a specific reaction.
Definition Reaction.h:73
This factory creates and stores, and passes around all of the species that exist in a reaction mechan...
Definition SpeciesFactory.h:31
Definition SpeciesSummaryWriterBase.h:27
The species object which represents the products and reactants in the reaction.
Definition Species.h:47
Definition TableWriterBase.h:22