Files
libcomposition/docs/html/composition__masked_8h_source.html

220 lines
38 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fourdst::libcomposition: src/composition/include/fourdst/composition/decorators/composition_masked.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">fourdst::libcomposition<span id="projectnumber">&#160;v2.4.9</span>
</div>
<div id="projectbrief">Robust atomic species information library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('composition__masked_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">composition_masked.h</div></div>
</div><!--header-->
<div class="contents">
<a href="composition__masked_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;set&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;<a class="code" href="composition__abstract_8h.html">fourdst/composition/composition_abstract.h</a>&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;<a class="code" href="composition__decorator__abstract_8h.html">fourdst/composition/decorators/composition_decorator_abstract.h</a>&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;<a class="code" href="composition__abstract__iterator_8h.html">fourdst/composition/iterators/composition_abstract_iterator.h</a>&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="atomic_species_8h.html">fourdst/atomic/atomicSpecies.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacefourdst_1_1composition.html">fourdst::composition</a> {</div>
<div class="foldopen" id="foldopen00015" data-start="{" data-end="};">
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="classfourdst_1_1composition_1_1_masked_composition.html"> 15</a></span> <span class="keyword">class </span><a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a9a0d839e4534494b7adaf353d56e5375">MaskedComposition</a> final : <span class="keyword">public</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_composition_decorator.html#a115e0c194a3dffddc558e0305cc56677">CompositionDecorator</a> {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="classfourdst_1_1composition_1_1_masked_composition.html#afe3129b1dbebfbe0578c3a555aa742bf"> 17</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#afe3129b1dbebfbe0578c3a555aa742bf">iterator</a> = <a class="code hl_class" href="classfourdst_1_1composition_1_1detail_1_1_composition_iterator.html">detail::CompositionIterator&lt;false&gt;</a>;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="classfourdst_1_1composition_1_1_masked_composition.html#acd2bbf05d4f5fce5a1146619a0b16b6d"> 18</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#acd2bbf05d4f5fce5a1146619a0b16b6d">const_iterator</a> = <a class="code hl_class" href="classfourdst_1_1composition_1_1detail_1_1_composition_iterator.html">detail::CompositionIterator&lt;true&gt;</a>;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a9a0d839e4534494b7adaf353d56e5375">MaskedComposition</a>(</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">const</span> <a class="code hl_class" href="classfourdst_1_1composition_1_1_composition_abstract.html">CompositionAbstract</a>&amp; baseComposition,</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">const</span> std::vector&lt;atomic::Species&gt;&amp; activeSpecies</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> );</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a045cfdf1e771895df872a6da61c53966">contains</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structfourdst_1_1atomic_1_1_species.html">atomic::Species</a> &amp;species) <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="keyword">override</span>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a045cfdf1e771895df872a6da61c53966">contains</a>(<span class="keyword">const</span> std::string &amp;symbol) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> [[nodiscard]] <span class="keyword">const</span> std::vector&lt;atomic::Species&gt;&amp; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a44fddc3b8d34b76114afafbdc9b0ec6d">getRegisteredSpecies</a>() const noexcept override;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> [[nodiscard]] std::set&lt;std::<span class="keywordtype">string</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a9b33507e9820b7fd55209d3624388077">getRegisteredSymbols</a>() const noexcept override;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> [[nodiscard]] <span class="keywordtype">size_t</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a6b6c7a9ad6293558ddc8834d22f4bc62">size</a>() const noexcept override;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> [[nodiscard]] std::unordered_map&lt;<a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species, <span class="keywordtype">double</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2383b69a4b1dbe1c7be01bb826b06c07">getMassFraction</a>() const noexcept override;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> [[nodiscard]] std::unordered_map&lt;<a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species, <span class="keywordtype">double</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2c299c44f385b65202ed0d475402562a">getNumberFraction</a>() const noexcept override;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2383b69a4b1dbe1c7be01bb826b06c07">getMassFraction</a>(const std::<span class="keywordtype">string</span> &amp;symbol) const override;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2383b69a4b1dbe1c7be01bb826b06c07">getMassFraction</a>(const <a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species &amp;species) const override;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2c299c44f385b65202ed0d475402562a">getNumberFraction</a>(const std::<span class="keywordtype">string</span> &amp;symbol) const override;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a2c299c44f385b65202ed0d475402562a">getNumberFraction</a>(const <a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species &amp;species) const override;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a3064af4fb0b59dce5b484d5657d25506">getMolarAbundance</a>(const std::<span class="keywordtype">string</span> &amp;symbol) const override;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a3064af4fb0b59dce5b484d5657d25506">getMolarAbundance</a>(const <a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species &amp;species) const override;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a3f50005318f2aa7bf7c3cd5b1d2aef7a">getMeanParticleMass</a>() const noexcept override;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> [[nodiscard]] <span class="keywordtype">double</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a38fc871469f94b3c07ba18a00548085d">getElectronAbundance</a>() const noexcept override;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> [[nodiscard]] std::vector&lt;<span class="keywordtype">double</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a7655d278224486e762d22d0501187f58">getMassFractionVector</a>() const noexcept override;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> [[nodiscard]] std::vector&lt;<span class="keywordtype">double</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#ad28b1f5c98bd25378c24c732d74deab4">getNumberFractionVector</a>() const noexcept override;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> [[nodiscard]] std::vector&lt;<span class="keywordtype">double</span>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#ac2f827bedae5405ebab7108b2e4397c5">getMolarAbundanceVector</a>() const noexcept override;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> [[nodiscard]] <span class="keywordtype">size_t</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a7277650debc78e081963663557de73eb">getSpeciesIndex</a>(const std::<span class="keywordtype">string</span> &amp;symbol) const override;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> [[nodiscard]] <span class="keywordtype">size_t</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a7277650debc78e081963663557de73eb">getSpeciesIndex</a>(const <a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species &amp;species) const override;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> [[nodiscard]] <a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#acc9d3af0aad6c6209c9aefd94f86996b">getSpeciesAtIndex</a>(<span class="keywordtype">size_t</span> index) const override;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> [[nodiscard]] std::unique_ptr&lt;<a class="code hl_class" href="classfourdst_1_1composition_1_1_composition_abstract.html">CompositionAbstract</a>&gt; <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a30f89ba71d9db6ad330c645d0a161164">clone</a>() const override;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> [[nodiscard]] <a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#afe3129b1dbebfbe0578c3a555aa742bf">iterator</a> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#aa01637b823d0127736cdc767284eb28d">begin</a>() override;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> [[nodiscard]] <a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#afe3129b1dbebfbe0578c3a555aa742bf">iterator</a> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#aae6a6799ee6877064728bd880348420d">end</a>() override;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> [[nodiscard]] <a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#acd2bbf05d4f5fce5a1146619a0b16b6d">const_iterator</a> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#aa01637b823d0127736cdc767284eb28d">begin</a>() const override;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> [[nodiscard]] <a class="code hl_typedef" href="classfourdst_1_1composition_1_1_masked_composition.html#acd2bbf05d4f5fce5a1146619a0b16b6d">const_iterator</a> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#aae6a6799ee6877064728bd880348420d">end</a>() const override;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> [[nodiscard]] <span class="keywordtype">size_t</span> <a class="code hl_function" href="classfourdst_1_1composition_1_1_masked_composition.html#a0cff238d7aec2db1f7c509d199b56afb">hash</a>() const override;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> private:</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classfourdst_1_1composition_1_1_masked_composition.html#a22a5b2ea210bb14a07b6461270631a3b"> 65</a></span> std::vector&lt;<a class="code hl_namespace" href="namespacefourdst_1_1atomic.html">atomic</a>::Species&gt; <a class="code hl_variable" href="classfourdst_1_1composition_1_1_masked_composition.html#a22a5b2ea210bb14a07b6461270631a3b">m_activeSpecies</a>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classfourdst_1_1composition_1_1_masked_composition.html#abe4e28b36230fa41c11c22e36aaa15e7"> 66</a></span> std::vector&lt;<span class="keywordtype">double</span>&gt; <a class="code hl_variable" href="classfourdst_1_1composition_1_1_masked_composition.html#abe4e28b36230fa41c11c22e36aaa15e7">m_molarAbundances</a>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> };</div>
</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
<div class="ttc" id="aatomic_species_8h_html"><div class="ttname"><a href="atomic_species_8h.html">atomicSpecies.h</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_abstract_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition_abstract.html">fourdst::composition::CompositionAbstract</a></div><div class="ttdoc">Abstract base class for chemical composition representations.</div><div class="ttdef"><b>Definition</b> <a href="composition__abstract_8h_source.html#l00036">composition_abstract.h:36</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_composition_decorator_html_a115e0c194a3dffddc558e0305cc56677"><div class="ttname"><a href="classfourdst_1_1composition_1_1_composition_decorator.html#a115e0c194a3dffddc558e0305cc56677">fourdst::composition::CompositionDecorator::CompositionDecorator</a></div><div class="ttdeci">CompositionDecorator(std::unique_ptr&lt; CompositionAbstract &gt; decorator)</div><div class="ttdef"><b>Definition</b> <a href="composition__decorator__abstract_8h_source.html#l00018">composition_decorator_abstract.h:18</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a045cfdf1e771895df872a6da61c53966"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a045cfdf1e771895df872a6da61c53966">fourdst::composition::MaskedComposition::contains</a></div><div class="ttdeci">bool contains(const atomic::Species &amp;species) const noexcept override</div><div class="ttdoc">Check if the composition contains the given species.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00037">composition_masked.cpp:37</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a0cff238d7aec2db1f7c509d199b56afb"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a0cff238d7aec2db1f7c509d199b56afb">fourdst::composition::MaskedComposition::hash</a></div><div class="ttdeci">size_t hash() const override</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00234">composition_masked.cpp:234</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a22a5b2ea210bb14a07b6461270631a3b"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a22a5b2ea210bb14a07b6461270631a3b">fourdst::composition::MaskedComposition::m_activeSpecies</a></div><div class="ttdeci">std::vector&lt; atomic::Species &gt; m_activeSpecies</div><div class="ttdef"><b>Definition</b> <a href="#l00065">composition_masked.h:65</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a2383b69a4b1dbe1c7be01bb826b06c07"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a2383b69a4b1dbe1c7be01bb826b06c07">fourdst::composition::MaskedComposition::getMassFraction</a></div><div class="ttdeci">std::unordered_map&lt; atomic::Species, double &gt; getMassFraction() const noexcept override</div><div class="ttdoc">Get the mass fraction for all registered symbols.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00065">composition_masked.cpp:65</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a2c299c44f385b65202ed0d475402562a"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a2c299c44f385b65202ed0d475402562a">fourdst::composition::MaskedComposition::getNumberFraction</a></div><div class="ttdeci">std::unordered_map&lt; atomic::Species, double &gt; getNumberFraction() const noexcept override</div><div class="ttdoc">Get the number fraction for all registered symbols.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00077">composition_masked.cpp:77</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a3064af4fb0b59dce5b484d5657d25506"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a3064af4fb0b59dce5b484d5657d25506">fourdst::composition::MaskedComposition::getMolarAbundance</a></div><div class="ttdeci">double getMolarAbundance(const std::string &amp;symbol) const override</div><div class="ttdoc">Get the molar abundance for a given symbol.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00121">composition_masked.cpp:121</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a30f89ba71d9db6ad330c645d0a161164"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a30f89ba71d9db6ad330c645d0a161164">fourdst::composition::MaskedComposition::clone</a></div><div class="ttdeci">std::unique_ptr&lt; CompositionAbstract &gt; clone() const override</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00214">composition_masked.cpp:214</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a38fc871469f94b3c07ba18a00548085d"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a38fc871469f94b3c07ba18a00548085d">fourdst::composition::MaskedComposition::getElectronAbundance</a></div><div class="ttdeci">double getElectronAbundance() const noexcept override</div><div class="ttdoc">Get the electron abundance of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00149">composition_masked.cpp:149</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a3f50005318f2aa7bf7c3cd5b1d2aef7a"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a3f50005318f2aa7bf7c3cd5b1d2aef7a">fourdst::composition::MaskedComposition::getMeanParticleMass</a></div><div class="ttdeci">double getMeanParticleMass() const noexcept override</div><div class="ttdoc">Get the mean particle mass of the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00137">composition_masked.cpp:137</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a44fddc3b8d34b76114afafbdc9b0ec6d"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a44fddc3b8d34b76114afafbdc9b0ec6d">fourdst::composition::MaskedComposition::getRegisteredSpecies</a></div><div class="ttdeci">const std::vector&lt; atomic::Species &gt; &amp; getRegisteredSpecies() const noexcept override</div><div class="ttdoc">Get all registered atomic species in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00049">composition_masked.cpp:49</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a6b6c7a9ad6293558ddc8834d22f4bc62"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a6b6c7a9ad6293558ddc8834d22f4bc62">fourdst::composition::MaskedComposition::size</a></div><div class="ttdeci">size_t size() const noexcept override</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00061">composition_masked.cpp:61</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a7277650debc78e081963663557de73eb"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a7277650debc78e081963663557de73eb">fourdst::composition::MaskedComposition::getSpeciesIndex</a></div><div class="ttdeci">size_t getSpeciesIndex(const std::string &amp;symbol) const override</div><div class="ttdoc">Get the index of a species by symbol.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00186">composition_masked.cpp:186</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a7655d278224486e762d22d0501187f58"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a7655d278224486e762d22d0501187f58">fourdst::composition::MaskedComposition::getMassFractionVector</a></div><div class="ttdeci">std::vector&lt; double &gt; getMassFractionVector() const noexcept override</div><div class="ttdoc">Get the mass fraction as a vector.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00159">composition_masked.cpp:159</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a9a0d839e4534494b7adaf353d56e5375"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a9a0d839e4534494b7adaf353d56e5375">fourdst::composition::MaskedComposition::MaskedComposition</a></div><div class="ttdeci">MaskedComposition(const CompositionAbstract &amp;baseComposition, const std::vector&lt; atomic::Species &gt; &amp;activeSpecies)</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00015">composition_masked.cpp:15</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_a9b33507e9820b7fd55209d3624388077"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#a9b33507e9820b7fd55209d3624388077">fourdst::composition::MaskedComposition::getRegisteredSymbols</a></div><div class="ttdeci">std::set&lt; std::string &gt; getRegisteredSymbols() const noexcept override</div><div class="ttdoc">Get all registered chemical symbols in the composition.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00053">composition_masked.cpp:53</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_aa01637b823d0127736cdc767284eb28d"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#aa01637b823d0127736cdc767284eb28d">fourdst::composition::MaskedComposition::begin</a></div><div class="ttdeci">iterator begin() override</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00218">composition_masked.cpp:218</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_aae6a6799ee6877064728bd880348420d"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#aae6a6799ee6877064728bd880348420d">fourdst::composition::MaskedComposition::end</a></div><div class="ttdeci">iterator end() override</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00222">composition_masked.cpp:222</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_abe4e28b36230fa41c11c22e36aaa15e7"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#abe4e28b36230fa41c11c22e36aaa15e7">fourdst::composition::MaskedComposition::m_molarAbundances</a></div><div class="ttdeci">std::vector&lt; double &gt; m_molarAbundances</div><div class="ttdef"><b>Definition</b> <a href="#l00066">composition_masked.h:66</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_ac2f827bedae5405ebab7108b2e4397c5"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#ac2f827bedae5405ebab7108b2e4397c5">fourdst::composition::MaskedComposition::getMolarAbundanceVector</a></div><div class="ttdeci">std::vector&lt; double &gt; getMolarAbundanceVector() const noexcept override</div><div class="ttdoc">Get the molar abundance as a vector.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00177">composition_masked.cpp:177</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_acc9d3af0aad6c6209c9aefd94f86996b"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#acc9d3af0aad6c6209c9aefd94f86996b">fourdst::composition::MaskedComposition::getSpeciesAtIndex</a></div><div class="ttdeci">atomic::Species getSpeciesAtIndex(size_t index) const override</div><div class="ttdoc">Get the species at a given index.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00205">composition_masked.cpp:205</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_acd2bbf05d4f5fce5a1146619a0b16b6d"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#acd2bbf05d4f5fce5a1146619a0b16b6d">fourdst::composition::MaskedComposition::const_iterator</a></div><div class="ttdeci">detail::CompositionIterator&lt; true &gt; const_iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00018">composition_masked.h:18</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_ad28b1f5c98bd25378c24c732d74deab4"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#ad28b1f5c98bd25378c24c732d74deab4">fourdst::composition::MaskedComposition::getNumberFractionVector</a></div><div class="ttdeci">std::vector&lt; double &gt; getNumberFractionVector() const noexcept override</div><div class="ttdoc">Get the number fraction as a vector.</div><div class="ttdef"><b>Definition</b> <a href="composition__masked_8cpp_source.html#l00168">composition_masked.cpp:168</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1_masked_composition_html_afe3129b1dbebfbe0578c3a555aa742bf"><div class="ttname"><a href="classfourdst_1_1composition_1_1_masked_composition.html#afe3129b1dbebfbe0578c3a555aa742bf">fourdst::composition::MaskedComposition::iterator</a></div><div class="ttdeci">detail::CompositionIterator&lt; false &gt; iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00017">composition_masked.h:17</a></div></div>
<div class="ttc" id="aclassfourdst_1_1composition_1_1detail_1_1_composition_iterator_html"><div class="ttname"><a href="classfourdst_1_1composition_1_1detail_1_1_composition_iterator.html">fourdst::composition::detail::CompositionIterator</a></div><div class="ttdef"><b>Definition</b> <a href="composition__abstract__iterator_8h_source.html#l00013">composition_abstract_iterator.h:13</a></div></div>
<div class="ttc" id="acomposition__abstract_8h_html"><div class="ttname"><a href="composition__abstract_8h.html">composition_abstract.h</a></div></div>
<div class="ttc" id="acomposition__abstract__iterator_8h_html"><div class="ttname"><a href="composition__abstract__iterator_8h.html">composition_abstract_iterator.h</a></div></div>
<div class="ttc" id="acomposition__decorator__abstract_8h_html"><div class="ttname"><a href="composition__decorator__abstract_8h.html">composition_decorator_abstract.h</a></div></div>
<div class="ttc" id="anamespacefourdst_1_1atomic_html"><div class="ttname"><a href="namespacefourdst_1_1atomic.html">fourdst::atomic</a></div><div class="ttdoc">Contains canonical information about atomic species and elements used by 4D-STAR.</div></div>
<div class="ttc" id="anamespacefourdst_1_1composition_html"><div class="ttname"><a href="namespacefourdst_1_1composition.html">fourdst::composition</a></div><div class="ttdoc">Utilities and types for representing and manipulating chemical compositions.</div></div>
<div class="ttc" id="astructfourdst_1_1atomic_1_1_species_html"><div class="ttname"><a href="structfourdst_1_1atomic_1_1_species.html">fourdst::atomic::Species</a></div><div class="ttdoc">Represents an atomic species (isotope) with its fundamental physical properties.</div><div class="ttdef"><b>Definition</b> <a href="atomic_species_8h_source.html#l00052">atomicSpecies.h:52</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_425afc2e69e55565110382214454a15b.html">composition</a></li><li class="navelem"><a class="el" href="dir_cb6fc2f7165eff3b2362b2440dfaea8e.html">include</a></li><li class="navelem"><a class="el" href="dir_3c9efac6790a3720e63e1a08c00d11f2.html">fourdst</a></li><li class="navelem"><a class="el" href="dir_f0fdd83dd0cb4aa6fd6a832374ae4f05.html">composition</a></li><li class="navelem"><a class="el" href="dir_f6270720383943883918701d7c63cf1d.html">decorators</a></li><li class="navelem"><a class="el" href="composition__masked_8h.html">composition_masked.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>