|
virtual | ~Reaction ()=default |
| Virtual destructor.
|
|
| Reaction (const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false) |
| Constructs a Reaction object.
|
|
virtual double | calculate_rate (const double T9) const |
| Calculates the reaction rate for a given temperature.
|
|
virtual CppAD::AD< double > | calculate_rate (const CppAD::AD< double > T9) const |
| Calculates the reaction rate for a given temperature using CppAD types.
|
|
virtual double | calculate_forward_rate_log_derivative (const double T9) const |
|
virtual std::string_view | peName () const |
| Gets the reaction name in (projectile, ejectile) notation.
|
|
int | chapter () const |
| Gets the REACLIB chapter number.
|
|
std::string_view | sourceLabel () const |
| Gets the source label for the rate data.
|
|
const RateCoefficientSet & | rateCoefficients () const |
| Gets the set of rate coefficients.
|
|
bool | contains (const fourdst::atomic::Species &species) const |
| Checks if the reaction involves a given species as a reactant or product.
|
|
bool | contains_reactant (const fourdst::atomic::Species &species) const |
| Checks if the reaction involves a given species as a reactant.
|
|
bool | contains_product (const fourdst::atomic::Species &species) const |
| Checks if the reaction involves a given species as a product.
|
|
std::unordered_set< fourdst::atomic::Species > | all_species () const |
| Gets a set of all unique species involved in the reaction.
|
|
std::unordered_set< fourdst::atomic::Species > | reactant_species () const |
| Gets a set of all unique reactant species.
|
|
std::unordered_set< fourdst::atomic::Species > | product_species () const |
| Gets a set of all unique product species.
|
|
size_t | num_species () const |
| Gets the number of unique species involved in the reaction.
|
|
int | stoichiometry (const fourdst::atomic::Species &species) const |
| Calculates the stoichiometric coefficient for a given species.
|
|
std::unordered_map< fourdst::atomic::Species, int > | stoichiometry () const |
| Gets a map of all species to their stoichiometric coefficients.
|
|
std::string_view | id () const |
| Gets the unique identifier of the reaction.
|
|
double | qValue () const |
| Gets the Q-value of the reaction.
|
|
const std::vector< fourdst::atomic::Species > & | reactants () const |
| Gets the vector of reactant species.
|
|
const std::vector< fourdst::atomic::Species > & | products () const |
| Gets the vector of product species.
|
|
bool | is_reverse () const |
| Checks if this is a reverse reaction rate.
|
|
double | excess_energy () const |
| Calculates the excess energy from the mass difference of reactants and products.
|
|
bool | operator== (const Reaction &other) const |
| Compares this reaction with another for equality based on their IDs.
|
|
bool | operator!= (const Reaction &other) const |
| Compares this reaction with another for inequality.
|
|
uint64_t | hash (uint64_t seed=0) const |
| Computes a hash for the reaction based on its ID.
|
|
|
quill::Logger * | m_logger = fourdst::logging::LogManager::getInstance().getLogger("log") |
|
std::string | m_id |
| Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").
|
|
std::string | m_peName |
| Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").
|
|
int | m_chapter |
| Chapter number from the REACLIB database, defining the reaction structure.
|
|
double | m_qValue = 0.0 |
| Q-value of the reaction in MeV.
|
|
std::vector< fourdst::atomic::Species > | m_reactants |
| Reactants of the reaction.
|
|
std::vector< fourdst::atomic::Species > | m_products |
| Products of the reaction.
|
|
std::string | m_sourceLabel |
| Source label for the rate data (e.g., "wc12w", "st08").
|
|
RateCoefficientSet | m_rateCoefficients |
| The seven rate coefficients.
|
|
bool | m_reverse = false |
| Flag indicating if this is a reverse reaction rate.
|
|
Represents a single nuclear reaction from a specific data source.
This class encapsulates all properties of a single nuclear reaction as defined in formats like REACLIB, including reactants, products, Q-value, and rate coefficients from a particular evaluation (source).
Example:
"H_1_H_1_to_H_2", "p(p,g)d", 1, {H_1, H_1}, {H_2}, 5.493, "st08", rate_coeffs
);
double rate = p_gamma_d.calculate_rate(0.1);
Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)
Constructs a Reaction object.
Definition reaction.cpp:19