Loading...
Searching...
No Matches
gridfire::policy::ProtonProtonChainPolicy Class Referencefinal

Proton-Proton Chain Policy. More...

`#include <chains.h>`

Inheritance diagram for gridfire::policy::ProtonProtonChainPolicy:
[legend]
Collaboration diagram for gridfire::policy::ProtonProtonChainPolicy:
[legend]

## Public Member Functions

| ProtonProtonChainPolicy ()
std::string | name () const override
| Returns the name of the MultiReactionChainPolicy.
Public Member Functions inherited from gridfire::policy::MultiReactionChainPolicy
| MultiReactionChainPolicy (std::vector< std::unique_ptr< ReactionChainPolicy > > &&chain_policies)
| Constructs a MultiReactionChainPolicy from a vector of ReactionChainPolicy instances.
const std::vector< std::unique_ptr< ReactionChainPolicy > > & | get_chain_policies () const
| Returns the vector of child ReactionChainPolicy instances.
const reaction::ReactionSet & | get_reactions () const override
| Returns the combined ReactionSet of all child chain policies.
bool | contains (const std::string &id) const override
| Checks if the MultiReactionChainPolicy contains a reaction by ID.
bool | contains (const reaction::Reaction &reaction) const override
| Checks if the MultiReactionChainPolicy contains a specific reaction.
std::unique_ptr< ReactionChainPolicy > | clone () const override
| Creates a deep copy of the MultiReactionChainPolicy.
uint64_t | hash (uint64_t seed) const override
| Computes a hash value for the MultiReactionChainPolicy.
bool | operator== (const ReactionChainPolicy &other) const override
| Equality comparison operator.
bool | operator!= (const ReactionChainPolicy &other) const override
| Inequality comparison operator.
size_t | size () const
| Returns the number of child ReactionChainPolicy instances.
auto | begin ()
| Returns iterator to the beginning of the child ReactionChainPolicy instances.
auto | begin () const
| Returns const iterator to the beginning of the child ReactionChainPolicy instances.
auto | end ()
| Returns iterator to the end of the child ReactionChainPolicy instances.
auto | end () const
| Returns const iterator to the end of the child ReactionChainPolicy instances.
Public Member Functions inherited from gridfire::policy::ReactionChainPolicy
virtual | ~ReactionChainPolicy ()=default

## Private Attributes

std::vector< std::unique_ptr< ReactionChainPolicy > > | m_chain_policies

## Additional Inherited Members

Protected Attributes inherited from gridfire::policy::MultiReactionChainPolicy
std::vector< std::unique_ptr< ReactionChainPolicy > > | m_chain_policies {}
| Child chain policies.
reaction::ReactionSet | m_reactions
| Combined reactions from all child policies.

## Detailed Description

Proton-Proton Chain Policy.

This class implements the overall Proton-Proton chain of nuclear reactions, combining the Proton-Proton I, II, and III chains. Enforcing this chain in the policy will ensure that all the Proton-Proton reactions are included in the network.

See also
  ProtonProtonIChainPolicy
  ProtonProtonIIChainPolicy
  ProtonProtonIIIChainPolicy

## Constructor & Destructor Documentation

## ProtonProtonChainPolicy()

gridfire::policy::ProtonProtonChainPolicy::ProtonProtonChainPolicy | ( |  | ) |

## Member Function Documentation

## name()

std::string gridfire::policy::ProtonProtonChainPolicy::name | ( |  | ) | const

overridevirtual

Returns the name of the MultiReactionChainPolicy.

Returns
  std::string the name of the policy.

Example
  std::string n = multi.name();
  std::cout << "Using policy: " << n << std::endl;

Reimplemented from gridfire::policy::MultiReactionChainPolicy.

## Member Data Documentation

## m_chain_policies

std::vector<std::unique_ptr<ReactionChainPolicy> > gridfire::policy::ProtonProtonChainPolicy::m_chain_policies

private

The documentation for this class was generated from the following files:

- src/include/gridfire/policy/chains.h
- src/lib/policy/chains.cpp