<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:a2d55492d285068d4a64db5602dfb1c78"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the number fraction of the species. <br/></td></tr>
<trclass="memdesc:aed91b28f66ed3e0937905c174712c3ca"><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:af49920b1168be92d517aea03a308fee1"><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:a00332551f5b2f0d7f10b12a091e21fa8"><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:a3b056b6b923016d271f034333c96d039"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Cached number fraction for conversions when in mass fraction mode. <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#l00084">84</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00069">69</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#l00069">composition.cpp:69</a></div></div>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00074">74</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>
</table>
</dd>
</dl>
</div>
</div>
<h2class="groupheader">Member Function Documentation</h2>
<pclass="definition">Definition at line <aclass="el"href="composition_8cpp_source.html#l00183">183</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#l00130">130</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#l00102">102</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#l00110">110</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#l00118">118</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#l00126">126</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#l00159">159</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#l00134">134</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#l00171">171</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#l00148">148</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#l00086">86</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#l00098">98</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#l01070">1070</a> of file <aclass="el"href="composition_8cpp_source.html">composition.cpp</a>.</p>
<p>Cached number fraction for conversions when in mass fraction mode. </p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00093">93</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00096">96</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#l00086">86</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00087">87</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</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>
<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>
<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>
<pclass="definition">Definition at line <aclass="el"href="composition_8h_source.html#l00091">91</a> of file <aclass="el"href="composition_8h_source.html">composition.h</a>.</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>
<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>