GridFire v0.7.0-alpha General Purpose Nuclear Network

Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
gridfire::policy::LowMassMainSequenceReactionChainPolicy Class Referencefinal

A MultiReactionChainPolicy for low-mass main-sequence stars. More...

`#include <chains.h>`

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

## Public Member Functions
| LowMassMainSequenceReactionChainPolicy ()
| Constructs the policy and initializes its child policies.
const reaction::ReactionSet & | get_reactions () const override
| Returns the combined set of reactions from all child policies (PP and CNO).
const std::vector< std::unique_ptr< ReactionChainPolicy > > & | get_chain_policies () const override
| Returns the vector of child policies.
Public Member Functions inherited from gridfire::policy::ReactionChainPolicy
virtual | ~ReactionChainPolicy ()=default

## Private Attributes
std::vector< std::unique_ptr< ReactionChainPolicy > > | m_chain_policies
reaction::ReactionSet | m_reactions

## Detailed Description

A MultiReactionChainPolicy for low-mass main-sequence stars.

This policy composes the `ProtonProtonChainPolicy` and `CNOChainPolicy` to represent the key energy-generating reaction chains active in low-mass stars like the Sun.

## Constructor & Destructor Documentation

## ◆ LowMassMainSequenceReactionChainPolicy()

gridfire::policy::LowMassMainSequenceReactionChainPolicy::LowMassMainSequenceReactionChainPolicy | ( |  | ) |
| inline

Constructs the policy and initializes its child policies.

## Member Function Documentation

## ◆ get_chain_policies()

const std::vector< std::unique_ptr< ReactionChainPolicy > > & gridfire::policy::LowMassMainSequenceReactionChainPolicy::get_chain_policies | ( |  | ) | const
| inline nodiscard override virtual

Returns the vector of child policies.

Returns
  const std::vector<std::unique_ptr<ReactionChainPolicy>>&

Example
  LowMassMainSequenceReactionChainPolicy lmms_policy;
  const auto& child_policies = lmms_policy.get_chain_policies();
  std::cout << "Low-mass policy has " << child_policies.size() << " child policies." << std::endl;
  gridfire::policy::LowMassMainSequenceReactionChainPolicy::get_chain_policies
  const std::vector< std::unique_ptr< ReactionChainPolicy > > & get_chain_policies() const override
  Returns the vector of child policies.
  Definition chains.h:268
  gridfire::policy::LowMassMainSequenceReactionChainPolicy::LowMassMainSequenceReactionChainPolicy
  LowMassMainSequenceReactionChainPolicy()
  Constructs the policy and initializes its child policies.
  Definition chains.h:256

Implements gridfire::policy::MultiReactionChainPolicy.

## ◆ get_reactions()

const reaction::ReactionSet & gridfire::policy::LowMassMainSequenceReactionChainPolicy::get_reactions | ( |  | ) | const
| inline nodiscard override virtual

Returns the combined set of reactions from all child policies (PP and CNO).

Returns
  const reaction::ReactionSet&

Implements gridfire::policy::ReactionChainPolicy.

## Member Data Documentation

## ◆ m_chain_policies

std::vector<std::unique_ptr<ReactionChainPolicy> > gridfire::policy::LowMassMainSequenceReactionChainPolicy::m_chain_policies
| private

## ◆ m_reactions

reaction::ReactionSet gridfire::policy::LowMassMainSequenceReactionChainPolicy::m_reactions
| private

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

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