<trclass="memdesc:a1cccb94c150dd1dcde860f55fbeaf2bd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Default constructor. Initializes a default entry (H-1), but in an uninitialized state. <br/></td></tr>
<trclass="memdesc:af27b09bb4e1ee357bb657146feb6039e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Constructs a <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a> for a given symbol and abundance mode. <br/></td></tr>
<trclass="memdesc:a5885a0e33687bceb15b225a00163e9d3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the species for the composition entry. This can only be done once. <br/></td></tr>
<trclass="memdesc:a50d18b4c27611fa9314dd756af54c2f0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the chemical symbol of the species. <br/></td></tr>
<trclass="memdesc:a66cb086719d7f654869bd7b0cee87ffc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the mass fraction of the species. <br/></td></tr>
<trclass="memdesc:a27b0ae0f7ef9469d515c4c7b6ec8dc22"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the mass fraction, converting from number fraction if necessary. <br/></td></tr>
<trclass="memdesc:a2d55492d285068d4a64db5602dfb1c78"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the number fraction of the species. <br/></td></tr>
<trclass="memdesc:ab96d976b53f3828237525005b904a39c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the number fraction, converting from mass fraction if necessary. <br/></td></tr>
<trclass="memdesc:ab6619d23e111905d1e3ab16ee822d96c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the relative abundance of the species. <br/></td></tr>
<trclass="memdesc:af4f8d292d18755670a914072e2260dfb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the isotope data for the species. <br/></td></tr>
<trclass="memdesc:a14f12b8b0178df2e32e2023bd4564ddc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the mode of the composition entry. <br/></td></tr>
<trclass="memdesc:a4d6df43e098e7e2e2d94ff7fb76cb4c2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the mass fraction of the species. <br/></td></tr>
<trclass="memdesc:a9ec47cf4b3399128d3836c1b24b031b0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the number fraction of the species. <br/></td></tr>
<trclass="memdesc:a3fb3f63a4e5675c6fefb662a8e3e7aa3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Switches the mode to mass fraction mode. <br/></td></tr>
<trclass="memdesc:a743042d1998875851150d789817f5473"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Switches the mode to number fraction mode. <br/></td></tr>
<trclass="memdesc:ac273debdba6a1b3ac0f11698c399d38e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The chemical symbol of the species (e.g., "H-1", "Fe-56"). <br/></td></tr>
<trclass="memdesc:a79039cbdc76b4401eb2ce44b85467503"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The <code><aclass="el"href="structfourdst_1_1atomic_1_1_species.html"title="Represents an atomic species (isotope) with its fundamental physical properties.">atomic::Species</a></code> object containing detailed isotope data. <br/></td></tr>
<trclass="memdesc:a1e860519bea86793413ed67c76d18c8b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The mode of the composition entry. True if mass fraction, false if number fraction. <br/></td></tr>
<trclass="memdesc:adc20165bf94e18eea3458003025579ac"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The mass fraction of the species. Valid only if <code>m_massFracMode</code> is true. <br/></td></tr>
<trclass="memdesc:a2b5e245f7dabb11076efdbe1ed516d9f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The number fraction (mole fraction) of the species. Valid only if <code>m_massFracMode</code> is false. <br/></td></tr>
<trclass="memdesc:a0498d707d8ea78be39283786c10657ef"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The relative abundance, used internally for conversions. For mass fraction mode, this is X_i / A_i; for number fraction mode, it's n_i * A_i. <br/></td></tr>
<trclass="memdesc:a391e899874cd7ef299a3ae1f64c016d2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">True if the composition entry has been initialized with a valid species. <br/></td></tr>
<trclass="memdesc:ae7a6a113fc5914248eff5629716d6eb2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Overloaded output stream operator for <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a>. <br/></td></tr>
<divclass="textblock"><p>Represents a single entry (an isotope) within a composition. </p>
<p>This struct holds the properties of one component, including its symbol, the corresponding <code><aclass="el"href="structfourdst_1_1atomic_1_1_species.html"title="Represents an atomic species (isotope) with its fundamental physical properties.">atomic::Species</a></code> object, and its abundance (either as a mass fraction or number fraction). It manages the state and conversions for that single entry. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00083">83</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
</div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00063">63</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<p>Constructs a <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a> for a given symbol and abundance mode. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">symbol</td><td>The chemical symbol of the species (e.g., "He-4"). </td></tr>
<tr><tdclass="paramname">massFracMode</td><td>True to operate in mass fraction mode, false for number fraction mode. </td></tr>
</table>
</dd>
</dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_invalid_species_symbol_error.html"title="Exception thrown for an invalid chemical species symbol in a composition entry.">exceptions::InvalidSpeciesSymbolError</a></td><td>if the symbol does not exist in the atomic species database. </td></tr>
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_entry_already_initialized_error.html"title="Exception thrown when attempting to initialize a composition entry that has already been initialized.">exceptions::EntryAlreadyInitializedError</a></td><td>if setSpecies is called on an already initialized entry. </td></tr>
</table>
</dd>
</dl>
<dlclass="section user"><dt>Usage Example:</dt><dd><divclass="fragment"><divclass="line"><aclass="code hl_function"href="#a1cccb94c150dd1dcde860f55fbeaf2bd">CompositionEntry</a> entry(<spanclass="stringliteral">"H-1"</span>, <spanclass="keyword">true</span>); <spanclass="comment">// Entry for H-1 in mass fraction mode.</span></div>
<divclass="ttc"id="astructfourdst_1_1composition_1_1_composition_entry_html_a1cccb94c150dd1dcde860f55fbeaf2bd"><divclass="ttname"><ahref="#a1cccb94c150dd1dcde860f55fbeaf2bd">fourdst::composition::CompositionEntry::CompositionEntry</a></div><divclass="ttdeci">CompositionEntry()</div><divclass="ttdoc">Default constructor. Initializes a default entry (H-1), but in an uninitialized state.</div><divclass="ttdef"><b>Definition</b><ahref="composition_8cpp_source.html#l00063">composition.cpp:63</a></div></div>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00068">68</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<tr><tdclass="paramname">entry</td><td>The <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a> to copy. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00072">72</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00172">172</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>A const reference to the <code><aclass="el"href="structfourdst_1_1atomic_1_1_species.html"title="Represents an atomic species (isotope) with its fundamental physical properties.">atomic::Species</a></code> object. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00134">134</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<dlclass="section pre"><dt>Precondition</dt><dd>The entry must be in mass fraction mode. </dd></dl>
<dlclass="section return"><dt>Returns</dt><dd>The mass fraction of the species. </dd></dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_composition_mode_error.html"title="Exception thrown due to a conflict in composition modes at the entry level.">exceptions::CompositionModeError</a></td><td>if the entry is in number fraction mode. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00097">97</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00104">104</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<dlclass="section pre"><dt>Precondition</dt><dd>The entry must be in number fraction mode. </dd></dl>
<dlclass="section return"><dt>Returns</dt><dd>The number fraction of the species. </dd></dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_composition_mode_error.html"title="Exception thrown due to a conflict in composition modes at the entry level.">exceptions::CompositionModeError</a></td><td>if the entry is in mass fraction mode. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00114">114</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00121">121</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00130">130</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00154">154</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<tr><tdclass="paramname">mass_fraction</td><td>The mass fraction to set. Must be in [0, 1]. </td></tr>
</table>
</dd>
</dl>
<dlclass="section pre"><dt>Precondition</dt><dd>The entry must be in mass fraction mode. </dd></dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_composition_mode_error.html"title="Exception thrown due to a conflict in composition modes at the entry level.">exceptions::CompositionModeError</a></td><td>if the entry is in number fraction mode. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00138">138</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00163">163</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<tr><tdclass="paramname">number_fraction</td><td>The number fraction to set. Must be in [0, 1]. </td></tr>
</table>
</dd>
</dl>
<dlclass="section pre"><dt>Precondition</dt><dd>The entry must be in number fraction mode. </dd></dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_composition_mode_error.html"title="Exception thrown due to a conflict in composition modes at the entry level.">exceptions::CompositionModeError</a></td><td>if the entry is in mass fraction mode. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00146">146</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<p>Sets the species for the composition entry. This can only be done once. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">symbol</td><td>The chemical symbol of the species. </td></tr>
</table>
</dd>
</dl>
<dlclass="exception"><dt>Exceptions</dt><dd>
<tableclass="exception">
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_entry_already_initialized_error.html"title="Exception thrown when attempting to initialize a composition entry that has already been initialized.">exceptions::EntryAlreadyInitializedError</a></td><td>if the entry has already been initialized. </td></tr>
<tr><tdclass="paramname"><aclass="el"href="classfourdst_1_1composition_1_1exceptions_1_1_invalid_species_symbol_error.html"title="Exception thrown for an invalid chemical species symbol in a composition entry.">exceptions::InvalidSpeciesSymbolError</a></td><td>if the symbol is not found in the atomic species database. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00081">81</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00093">93</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<p>Overloaded output stream operator for <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a>. </p>
<tr><tdclass="paramname">entry</td><td>The <aclass="el"href="structfourdst_1_1composition_1_1_composition_entry.html"title="Represents a single entry (an isotope) within a composition.">CompositionEntry</a> to output. </td></tr>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00932">932</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<p>True if the composition entry has been initialized with a valid species. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00092">92</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The <code><aclass="el"href="structfourdst_1_1atomic_1_1_species.html"title="Represents an atomic species (isotope) with its fundamental physical properties.">atomic::Species</a></code> object containing detailed isotope data. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00085">85</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The mode of the composition entry. True if mass fraction, false if number fraction. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00086">86</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The mass fraction of the species. Valid only if <code>m_massFracMode</code> is true. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00088">88</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The number fraction (mole fraction) of the species. Valid only if <code>m_massFracMode</code> is false. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00089">89</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The relative abundance, used internally for conversions. For mass fraction mode, this is X_i / A_i; for number fraction mode, it's n_i * A_i. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00090">90</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<p>The chemical symbol of the species (e.g., "H-1", "Fe-56"). </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00084">84</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.13.2 </li>