GridFire v0.7.1_rc2
General Purpose Nuclear Network
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::ReactionSetget_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< ReactionChainPolicyclone () 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: