Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 276

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: sc::GaussianBasisSet Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a>
  </div>
</div>
<div class="contents">
<h1>sc::GaussianBasisSet Class Reference</h1><!-- doxytag: class="sc::GaussianBasisSet" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> class is used describe a basis set composed of atomic gaussian orbitals.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="gaussbas_8h_source.html">gaussbas.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::GaussianBasisSet:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1GaussianBasisSet.png" usemap="#sc::GaussianBasisSet_map" border="0" alt=""></center>
<map name="sc::GaussianBasisSet_map">
<area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,131,192">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,131,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,131,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,131,24">
</map>
</div>

<p>
<a href="classsc_1_1GaussianBasisSet-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This holds scratch data needed to compute basis function values.  <a href="classsc_1_1GaussianBasisSet_1_1ValueData.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#abe02e5ecbc2a36a2d0d0eef69ce9b3c">UnitType</a> { <b>Unit</b>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This can be given to a CTOR to construct a unit basis function. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#c8d5e27ed526f60bda14321352e3eafb">GaussianBasisSet</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor.  <a href="#c8d5e27ed526f60bda14321352e3eafb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#4e9195dd151df9be0337afd55c4f52ed">GaussianBasisSet</a> (<a class="el" href="classsc_1_1GaussianBasisSet.html#abe02e5ecbc2a36a2d0d0eef69ce9b3c">UnitType</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This can be given GaussianBasisSet::Unit to construct a basis set with a single basis function that is one everywhere.  <a href="#4e9195dd151df9be0337afd55c4f52ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f2891d72247392012ae1b5b64a833ba"></a><!-- doxytag: member="sc::GaussianBasisSet::GaussianBasisSet" ref="1f2891d72247392012ae1b5b64a833ba" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>GaussianBasisSet</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#461ed9a3b9dbc14a4aa12091095dde47">operator+</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> &gt; &amp;B)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> object that consists of the basis functions for each atom in this followed by the basis functions in B for the corresponding atom.  <a href="#461ed9a3b9dbc14a4aa12091095dde47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#0847f5b840d5cea2a78cb0c07546c4c7">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them.  <a href="#0847f5b840d5cea2a78cb0c07546c4c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ba5ec206b5b54b65ccdd3c6c076a7b2"></a><!-- doxytag: member="sc::GaussianBasisSet::name" ref="3ba5ec206b5b54b65ccdd3c6c076a7b2" args="() const " -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#3ba5ec206b5b54b65ccdd3c6c076a7b2">name</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the basis set (is nonnull only if keyword "name" was provided). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#cb0d3d07183c4851ef28963537019006">label</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the label of the basis set.  <a href="#cb0d3d07183c4851ef28963537019006"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbf4412a25c32b3b8d6975587b1d4bc3"></a><!-- doxytag: member="sc::GaussianBasisSet::molecule" ref="fbf4412a25c32b3b8d6975587b1d4bc3" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Molecule.html">Molecule</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#fbf4412a25c32b3b8d6975587b1d4bc3">molecule</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8da790554ea38b47a1854145e0fedc9"></a><!-- doxytag: member="sc::GaussianBasisSet::matrixkit" ref="d8da790554ea38b47a1854145e0fedc9" args="()" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d8da790554ea38b47a1854145e0fedc9">matrixkit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a> that is to be used for AO bases. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55005f690ee4a139175ca9f88c17ff06"></a><!-- doxytag: member="sc::GaussianBasisSet::so_matrixkit" ref="55005f690ee4a139175ca9f88c17ff06" args="()" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#55005f690ee4a139175ca9f88c17ff06">so_matrixkit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a> that is to be used for SO bases. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c8cc56d931c84679711db74facfcdff"></a><!-- doxytag: member="sc::GaussianBasisSet::basisdim" ref="2c8cc56d931c84679711db74facfcdff" args="()" -->
<a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#2c8cc56d931c84679711db74facfcdff">basisdim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> object for the dimension. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cfb021ed660160e7aa603f474c8bbb2"></a><!-- doxytag: member="sc::GaussianBasisSet::ncenter" ref="7cfb021ed660160e7aa603f474c8bbb2" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#7cfb021ed660160e7aa603f474c8bbb2">ncenter</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of centers. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45fe96869a61e28949ac5934043248d1"></a><!-- doxytag: member="sc::GaussianBasisSet::nshell" ref="45fe96869a61e28949ac5934043248d1" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#45fe96869a61e28949ac5934043248d1">nshell</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of shells. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b95a75636ccfcb20464211b2267538de"></a><!-- doxytag: member="sc::GaussianBasisSet::nshell_on_center" ref="b95a75636ccfcb20464211b2267538de" args="(int icenter) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#b95a75636ccfcb20464211b2267538de">nshell_on_center</a> (int icenter) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of shells on the given center. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#27949a83fc05f03358328a4e6c67df6e">shell_on_center</a> (int icenter, int shell) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an overall shell number, given a center and the shell number on that center.  <a href="#27949a83fc05f03358328a4e6c67df6e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af9bc360bca7274faf8179c239ee4475"></a><!-- doxytag: member="sc::GaussianBasisSet::shell_to_center" ref="af9bc360bca7274faf8179c239ee4475" args="(int ishell) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#af9bc360bca7274faf8179c239ee4475">shell_to_center</a> (int ishell) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the center on which the given shell is located. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2fdc60a230ddefacf77c3189a93d70b"></a><!-- doxytag: member="sc::GaussianBasisSet::shell_to_primitive" ref="f2fdc60a230ddefacf77c3189a93d70b" args="(int ishell) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#f2fdc60a230ddefacf77c3189a93d70b">shell_to_primitive</a> (int ishell) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the overall index of the first primitive from the given shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7b10a1a9f605ad3f35a5a34a1be6861"></a><!-- doxytag: member="sc::GaussianBasisSet::nbasis" ref="d7b10a1a9f605ad3f35a5a34a1be6861" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d7b10a1a9f605ad3f35a5a34a1be6861">nbasis</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of basis functions. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bafabf6b5fa8a1594db71a3731fb6da8"></a><!-- doxytag: member="sc::GaussianBasisSet::nbasis_on_center" ref="bafabf6b5fa8a1594db71a3731fb6da8" args="(int icenter) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#bafabf6b5fa8a1594db71a3731fb6da8">nbasis_on_center</a> (int icenter) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of basis functions on the given center. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c0a8ebaf7864d57ffde258c91ac45dcb"></a><!-- doxytag: member="sc::GaussianBasisSet::nprimitive" ref="c0a8ebaf7864d57ffde258c91ac45dcb" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#c0a8ebaf7864d57ffde258c91ac45dcb">nprimitive</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of primitive Gaussians. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5eddf79bf2d6001852cd32bc7a28c90"></a><!-- doxytag: member="sc::GaussianBasisSet::has_pure" ref="f5eddf79bf2d6001852cd32bc7a28c90" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#f5eddf79bf2d6001852cd32bc7a28c90">has_pure</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if basis contains solid harmonics Gaussians. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5839a8d86d4b462ab55b459a5e88d781"></a><!-- doxytag: member="sc::GaussianBasisSet::max_nfunction_in_shell" ref="5839a8d86d4b462ab55b459a5e88d781" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#5839a8d86d4b462ab55b459a5e88d781">max_nfunction_in_shell</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum number of functions that any shell has. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#6c46dca677c0b0175d28ab0c646c16dd">max_ncartesian_in_shell</a> (int aminc=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum number of Cartesian functions that any shell has.  <a href="#6c46dca677c0b0175d28ab0c646c16dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c302dbe0115b650c6e93205609d9a07"></a><!-- doxytag: member="sc::GaussianBasisSet::max_nprimitive_in_shell" ref="3c302dbe0115b650c6e93205609d9a07" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#3c302dbe0115b650c6e93205609d9a07">max_nprimitive_in_shell</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum number of primitive Gaussian that any shell has. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03311e639f153963e21ca8ad2a9e5d3c"></a><!-- doxytag: member="sc::GaussianBasisSet::max_angular_momentum" ref="03311e639f153963e21ca8ad2a9e5d3c" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#03311e639f153963e21ca8ad2a9e5d3c">max_angular_momentum</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the highest angular momentum in any shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d29e59765708a02cd0dc3e88177131e1"></a><!-- doxytag: member="sc::GaussianBasisSet::max_ncontraction" ref="d29e59765708a02cd0dc3e88177131e1" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d29e59765708a02cd0dc3e88177131e1">max_ncontraction</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum number of Gaussians in a contraction in any shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#a18bb75536e3359ce174ad890818c69d">max_am_for_contraction</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum angular momentum found in the given contraction number for any shell.  <a href="#a18bb75536e3359ce174ad890818c69d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5f41765ebe2a2bbf83f1c637514ff2f"></a><!-- doxytag: member="sc::GaussianBasisSet::max_cartesian" ref="d5f41765ebe2a2bbf83f1c637514ff2f" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d5f41765ebe2a2bbf83f1c637514ff2f">max_cartesian</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum number of Cartesian functions in any shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd6f96ee06894a527bb675dbccc42186"></a><!-- doxytag: member="sc::GaussianBasisSet::shell_to_function" ref="dd6f96ee06894a527bb675dbccc42186" args="(int i) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#dd6f96ee06894a527bb675dbccc42186">shell_to_function</a> (int i) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of the first function in the given shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e39b92995608e971f5d4dbd5ace64cfd"></a><!-- doxytag: member="sc::GaussianBasisSet::function_to_shell" ref="e39b92995608e971f5d4dbd5ace64cfd" args="(int i) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#e39b92995608e971f5d4dbd5ace64cfd">function_to_shell</a> (int i) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the shell to which the given function belongs. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6255658d61adc3e17fa312a15b60fee0"></a><!-- doxytag: member="sc::GaussianBasisSet::operator()" ref="6255658d61adc3e17fa312a15b60fee0" args="(int i) const " -->
const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#6255658d61adc3e17fa312a15b60fee0">operator()</a> (int i) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d25b84aaca0eeac18b150bb840ac2a7a"></a><!-- doxytag: member="sc::GaussianBasisSet::operator()" ref="d25b84aaca0eeac18b150bb840ac2a7a" args="(int i)" -->
<a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d25b84aaca0eeac18b150bb840ac2a7a">operator()</a> (int i)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b71db3d3e130449e31d22e56b6d9c091"></a><!-- doxytag: member="sc::GaussianBasisSet::operator[]" ref="b71db3d3e130449e31d22e56b6d9c091" args="(int i) const " -->
const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#b71db3d3e130449e31d22e56b6d9c091">operator[]</a> (int i) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ec60bc9d531f939cd4e4442790263b9"></a><!-- doxytag: member="sc::GaussianBasisSet::operator[]" ref="9ec60bc9d531f939cd4e4442790263b9" args="(int i)" -->
<a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#9ec60bc9d531f939cd4e4442790263b9">operator[]</a> (int i)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3b1541e18c78f038fb11791dfd28015"></a><!-- doxytag: member="sc::GaussianBasisSet::shell" ref="b3b1541e18c78f038fb11791dfd28015" args="(int i) const " -->
const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#b3b1541e18c78f038fb11791dfd28015">shell</a> (int i) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e836b121e72f7010beffc0b2c5a6ac73"></a><!-- doxytag: member="sc::GaussianBasisSet::shell" ref="e836b121e72f7010beffc0b2c5a6ac73" args="(int i)" -->
<a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#e836b121e72f7010beffc0b2c5a6ac73">shell</a> (int i)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cef0b73101907fc8903bdd87b938117f"></a><!-- doxytag: member="sc::GaussianBasisSet::operator()" ref="cef0b73101907fc8903bdd87b938117f" args="(int icenter, int ishell) const " -->
const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#cef0b73101907fc8903bdd87b938117f">operator()</a> (int icenter, int ishell) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number ishell on center icenter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1b02d824385881be9da3e90da449f456"></a><!-- doxytag: member="sc::GaussianBasisSet::operator()" ref="1b02d824385881be9da3e90da449f456" args="(int icenter, int ishell)" -->
<a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#1b02d824385881be9da3e90da449f456">operator()</a> (int icenter, int ishell)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number ishell on center icenter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c78b838b8df5200f156b716385d4df64"></a><!-- doxytag: member="sc::GaussianBasisSet::shell" ref="c78b838b8df5200f156b716385d4df64" args="(int i, int j) const " -->
const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#c78b838b8df5200f156b716385d4df64">shell</a> (int i, int j) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number j on center i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6ba7aaa69b842c941de86b19c0aa379"></a><!-- doxytag: member="sc::GaussianBasisSet::shell" ref="e6ba7aaa69b842c941de86b19c0aa379" args="(int i, int j)" -->
<a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#e6ba7aaa69b842c941de86b19c0aa379">shell</a> (int i, int j)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> number j on center i. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#781d0b6a5736a794a17f717b665b1694">r</a> (int icenter, int xyz) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The location of center icenter.  <a href="#781d0b6a5736a794a17f717b665b1694"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#07895a6283eec78d81c9f23b947008e5">values</a> (const SCVector3 &amp;r, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *basis_values) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for this basis set at position r.  <a href="#07895a6283eec78d81c9f23b947008e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#8515fa25332523b5844bdaac723b03b3">grad_values</a> (const SCVector3 &amp;r, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *g_values, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#8515fa25332523b5844bdaac723b03b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#332b57f3b12351e3579214ba655cf8f6">hessian_values</a> (const SCVector3 &amp;r, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *h_values, double *g_values=0, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#332b57f3b12351e3579214ba655cf8f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#5ca4483c793d1a7344b5328a84bc6573">shell_values</a> (const SCVector3 &amp;r, int sh, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *basis_values) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for the given shell functions at position r.  <a href="#5ca4483c793d1a7344b5328a84bc6573"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#d6a1cca6de2b4a43ec4befa87ae6d2e2">grad_shell_values</a> (const SCVector3 &amp;r, int sh, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *g_values, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#d6a1cca6de2b4a43ec4befa87ae6d2e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#68a12fecb52fd576c83e9fe8ac27164c">hessian_shell_values</a> (const SCVector3 &amp;r, int sh, <a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *, double *h_values, double *g_values=0, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#68a12fecb52fd576c83e9fe8ac27164c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7344b7edf9cd4f95c54d9582711740d6"></a><!-- doxytag: member="sc::GaussianBasisSet::equiv" ref="7344b7edf9cd4f95c54d9582711740d6" args="(const Ref&lt; GaussianBasisSet &gt; &amp;b)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#7344b7edf9cd4f95c54d9582711740d6">equiv</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> &gt; &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this and the argument are equivalent. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e9842031fd1d3416b835cc3411aaebd"></a><!-- doxytag: member="sc::GaussianBasisSet::print_brief" ref="1e9842031fd1d3416b835cc3411aaebd" args="(std::ostream &amp;=ExEnv::out0()) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#1e9842031fd1d3416b835cc3411aaebd">print_brief</a> (std::ostream &amp;=ExEnv::out0()) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a brief description of the basis set. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="748705e62ac8fdc0403afe663fe3ac3a"></a><!-- doxytag: member="sc::GaussianBasisSet::print" ref="748705e62ac8fdc0403afe663fe3ac3a" args="(std::ostream &amp;=ExEnv::out0()) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianBasisSet.html#748705e62ac8fdc0403afe663fe3ac3a">print</a> (std::ostream &amp;=ExEnv::out0()) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a detailed description of the basis set. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10b77064be40c8ac19e0e21696862575"></a><!-- doxytag: member="sc::GaussianBasisSet::GaussianBasisSet" ref="10b77064be40c8ac19e0e21696862575" args="(const GaussianBasisSet &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>GaussianBasisSet</b> (const <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02195bb9b14136c7075552a1ba4a5a15"></a><!-- doxytag: member="sc::GaussianBasisSet::set_matrixkit" ref="02195bb9b14136c7075552a1ba4a5a15" args="(const Ref&lt; SCMatrixKit &gt; &amp;)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_matrixkit</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt; &amp;)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> class is used describe a basis set composed of atomic gaussian orbitals. 
<p>
Inputs for common basis sets are included in the MPQC distribution. They have been obtained from the EMSL Basis Set Database and translated into the MPQC format. The citation for this database is below. The technical citation for each basis set is listed in the individual basis set data files, in MPQC's <code>lib/basis</code> directory.<p>
Following is a table with available basis sets listing the supported elements for each basis and the number of basis functions for H, <img class="formulaInl" alt="$n_0$" src="form_45.png">, first row, <img class="formulaInl" alt="$n_1$" src="form_46.png">, and second row, <img class="formulaInl" alt="$n_2$" src="form_47.png">, atoms. Basis sets with non-alpha-numerical characters in their name must be given in quotes.<p>
<table border="1" cellspacing="3" cellpadding="3">
<tr>
<td>Basis Set</td><td>Elements</td><td><img class="formulaInl" alt="$n_0$" src="form_45.png"></td><td><img class="formulaInl" alt="$n_1$" src="form_46.png"></td><td><img class="formulaInl" alt="$n_2$" src="form_47.png"> </td></tr>
<tr>
<td><code>STO-2G</code></td><td>H-Ca</td><td>1</td><td>5</td><td>9 </td></tr>
<tr>
<td><code>STO-3G</code></td><td>H-Kr</td><td>1</td><td>5</td><td>9 </td></tr>
<tr>
<td><code>STO-3G*</code></td><td>H-Ar</td><td>1</td><td>5</td><td>14 </td></tr>
<tr>
<td><code>STO-6G</code></td><td>H-Kr</td><td>1</td><td>5</td><td>9 </td></tr>
<tr>
<td><code>MINI (Huzinaga)</code></td><td>H-Ca</td><td>1</td><td>5</td><td>9 </td></tr>
<tr>
<td><code>MINI (Scaled)</code></td><td>H-Ca</td><td>1</td><td>5</td><td>9 </td></tr>
<tr>
<td><code>MIDI (Huzinaga)</code></td><td>H-Na, Al-K</td><td>2</td><td>9</td><td>13 </td></tr>
<tr>
<td><code>DZ (Dunning)</code></td><td>H, Li, B-Ne, Al-Cl</td><td>2</td><td>10</td><td>18 </td></tr>
<tr>
<td><code>DZP (Dunning)</code></td><td>H, Li, B-Ne, Al-Cl</td><td>5</td><td>16</td><td>24 </td></tr>
<tr>
<td><code>DZP + Diffuse (Dunning)</code></td><td>H, B-Ne</td><td>6</td><td>19</td><td></td></tr>
<tr>
<td><code>3-21G</code></td><td>H-Kr</td><td>2</td><td>9</td><td>13 </td></tr>
<tr>
<td><code>3-21G*</code></td><td>H-Ar</td><td>2</td><td>9</td><td>19 </td></tr>
<tr>
<td><code>3-21++G</code></td><td>H-Ar</td><td>3</td><td>13</td><td>17 </td></tr>
<tr>
<td><code>3-21++G*</code></td><td>H-Ar</td><td>3</td><td>13</td><td>23 </td></tr>
<tr>
<td><code>4-31G</code></td><td>H-Ne, P-Cl</td><td>2</td><td>9</td><td>13 </td></tr>
<tr>
<td><code>6-31G</code></td><td>H-Zn</td><td>2</td><td>9</td><td>13 </td></tr>
<tr>
<td><code>6-31G*</code></td><td>H-Zn</td><td>2</td><td>15</td><td>19 </td></tr>
<tr>
<td><code>6-31G**</code></td><td>H-Zn</td><td>5</td><td>15</td><td>19 </td></tr>
<tr>
<td><code>6-31+G*</code></td><td>H-Ar</td><td>2</td><td>19</td><td>23 </td></tr>
<tr>
<td><code>6-31++G</code></td><td>H-Ca</td><td>3</td><td>13</td><td>17 </td></tr>
<tr>
<td><code>6-31++G*</code></td><td>H-Ar</td><td>3</td><td>19</td><td>23 </td></tr>
<tr>
<td><code>6-31++G**</code></td><td>H-Ar</td><td>6</td><td>19</td><td>23 </td></tr>
<tr>
<td><code>6-311G</code></td><td>H-Ca, Ga-Kr</td><td>3</td><td>13</td><td>21 </td></tr>
<tr>
<td><code>6-311G*</code></td><td>H-Ca, Ga-Kr</td><td>3</td><td>18</td><td>26 </td></tr>
<tr>
<td><code>6-311G**</code></td><td>H-Ca, Ga-Kr</td><td>6</td><td>18</td><td>26 </td></tr>
<tr>
<td><code>6-311G(2df,2pd)</code></td><td>H-Ne, K, Ca</td><td>14</td><td>30</td><td></td></tr>
<tr>
<td><code>6-311++G**</code></td><td>H-Ne</td><td>7</td><td>22</td><td></td></tr>
<tr>
<td><code>6-311++G(2d,2p)</code></td><td>H-Ca</td><td>10</td><td>27</td><td>35 </td></tr>
<tr>
<td><code>6-311++G(3df,3pd)</code></td><td>H-Ar</td><td>18</td><td>39</td><td>47 </td></tr>
<tr>
<td><code>cc-pVDZ</code></td><td>H-Ar, Ca, Ga-Kr</td><td>5</td><td>14</td><td>18 </td></tr>
<tr>
<td><code>cc-pVTZ</code></td><td>H-Ar, Ca, Ga-Kr</td><td>14</td><td>30</td><td>34 </td></tr>
<tr>
<td><code>cc-pVQZ</code></td><td>H-Ar, Ca, Ga-Kr</td><td>30</td><td>55</td><td>59 </td></tr>
<tr>
<td><code>cc-pV5Z</code></td><td>H-Ar, Ca, Ga-Kr</td><td>55</td><td>91</td><td>95 </td></tr>
<tr>
<td><code>cc-pV6Z</code></td><td>H, He, B-Ne, Al-Ar</td><td>91</td><td>140</td><td>144 </td></tr>
<tr>
<td><code>aug-cc-pVDZ</code></td><td>H, He, B-Ne, Al-Ar, Ga-Kr</td><td>9</td><td>23</td><td>27 </td></tr>
<tr>
<td><code>aug-cc-pVTZ</code></td><td>H, He, B-Ne, Al-Ar, Ga-Kr</td><td>23</td><td>46</td><td>50 </td></tr>
<tr>
<td><code>aug-cc-pVQZ</code></td><td>H, He, B-Ne, Al-Ar, Ga-Kr</td><td>46</td><td>80</td><td>84 </td></tr>
<tr>
<td><code>aug-cc-pV5Z</code></td><td>H, He, B-Ne, Al-Ar, Ga-Kr</td><td>80</td><td>127</td><td>131 </td></tr>
<tr>
<td><code>aug-cc-pV6Z</code></td><td>H, He, B-Ne, Al-Ar</td><td>127</td><td>189</td><td>193 </td></tr>
<tr>
<td><code>cc-pCVDZ</code></td><td>Li, B-Ar</td><td></td><td>18</td><td>27 </td></tr>
<tr>
<td><code>cc-pCVTZ</code></td><td>Li, B-Ar</td><td></td><td>43</td><td>59 </td></tr>
<tr>
<td><code>cc-pCVQZ</code></td><td>Li, B-Ar</td><td></td><td>84</td><td>109 </td></tr>
<tr>
<td><code>cc-pCV5Z</code></td><td>B-Ne</td><td></td><td>145</td><td></td></tr>
<tr>
<td><code>aug-cc-pCVDZ</code></td><td>B-F, Al-Ar</td><td></td><td>27</td><td>36 </td></tr>
<tr>
<td><code>aug-cc-pCVTZ</code></td><td>B-Ne, Al-Ar</td><td></td><td>59</td><td>75 </td></tr>
<tr>
<td><code>aug-cc-pCVQZ</code></td><td>B-Ne, Al-Ar</td><td></td><td>109</td><td>134 </td></tr>
<tr>
<td><code>aug-cc-pCV5Z</code></td><td>B-F</td><td></td><td>181</td><td></td></tr>
<tr>
<td><code>NASA Ames ANO</code></td><td>H, B-Ne, Al, P, Ti, Fe, Ni</td><td>30</td><td>55</td><td>59 </td></tr>
<tr>
<td><code>pc-0</code></td><td>H, C-F, Si-Cl</td><td>2</td><td>9</td><td>13 </td></tr>
<tr>
<td><code>pc-1</code></td><td>H, C-F, Si-Cl</td><td>5</td><td>14</td><td>18 </td></tr>
<tr>
<td><code>pc-2</code></td><td>H, C-F, Si-Cl</td><td>14</td><td>30</td><td>34 </td></tr>
<tr>
<td><code>pc-3</code></td><td>H, C-F, Si-Cl</td><td>34</td><td>64</td><td>64 </td></tr>
<tr>
<td><code>pc-4</code></td><td>H, C-F, Si-Cl</td><td>63</td><td>109</td><td>105 </td></tr>
<tr>
<td><code>pc-0-aug</code></td><td>H, C-F, Si-Cl</td><td>3</td><td>13</td><td>17 </td></tr>
<tr>
<td><code>pc-1-aug</code></td><td>H, C-F, Si-Cl</td><td>9</td><td>23</td><td>27 </td></tr>
<tr>
<td><code>pc-2-aug</code></td><td>H, C-F, Si-Cl</td><td>23</td><td>46</td><td>50 </td></tr>
<tr>
<td><code>pc-3-aug</code></td><td>H, C-F, Si-Cl</td><td>50</td><td>89</td><td>89 </td></tr>
<tr>
<td><code>pc-4-aug</code></td><td>H, C-F, Si-Cl</td><td>88</td><td>145</td><td>141 </td></tr>
</table>
<p>
All basis sets except for the pc-<em>n</em> and pc-<em>n</em>-aug basis sets were obtained from the Extensible Computational Chemistry Environment Basis Set Database, Version 12/03/03, as developed and distributed by the Molecular Science Computing Facility, Environmental and Molecular Sciences Laboratory which is part of the Pacific Northwest Laboratory, P.O. Box 999, Richland, Washington 99352, USA, and funded by the U.S. Department of Energy. The Pacific Northwest Laboratory is a multi-program laboratory operated by Battelle Memorial Institute for the U.S. Department of Energy under contract DE-AC06-76RLO 1830. Contact David Feller or Karen Schuchardt for further information.<p>
The pc-<em>n</em> and pc-<em>n</em>-aug basis sets are the polarization consistent basis sets of Frank Jensen. See J. Chem. Phys. 115 (2001) 9113; J. Chem. Phys. 116 (2002) 7372; J. Chem. Phys. 117 (2002) 9234; and J. Chem. Phys. 121 (2004) 3463. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c8d5e27ed526f60bda14321352e3eafb"></a><!-- doxytag: member="sc::GaussianBasisSet::GaussianBasisSet" ref="c8d5e27ed526f60bda14321352e3eafb" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::GaussianBasisSet::GaussianBasisSet           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor. 
<p>
<dl>
<dt><code>molecule</code></dt>
<dd>The gives a <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> object. The is no default.<p>
</dd>
<dt><code>puream</code></dt>
<dd>If this boolean parameter is true then 5D, 7F, etc. will be used. Otherwise all cartesian functions will be used. The default depends on the particular basis set.<p>
</dd>
<dt><code>name</code></dt>
<dd>This is a string giving the name of the basis set. The above table of basis sets gives some of the recognized basis set names. It may be necessary to put the name in double quotes. There is no default.<p>
</dd>
<dt><code>basis</code></dt>
<dd>This is a vector of basis set names that can give a different basis set to each atom in the molecule. If the element vector is given, then it gives different basis sets to different elements. The default is to give every atom the basis set specified in name.<p>
</dd>
<dt><code>element</code></dt>
<dd>This is a vector of elements. If it is given then it must have the same number of entries as the basis vector.<p>
</dd>
<dt><code>basisdir</code></dt>
<dd>A string giving a directory where basis set data files are to be sought. See the text below for a complete description of what directories are consulted.<p>
</dd>
<dt><code>basisfiles</code></dt>
<dd>Each keyword in this vector of files is appended to the directory specified with basisdir and basis set data is read from them.<p>
</dd>
<dt><code>matrixkit</code></dt>
<dd>Specifies a <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a> object. It is usually not necessary to give this keyword, as the default action should get the correct <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a>.<p>
</dd>
</dl>
<p>
Several files in various directories are checked for basis set data. First, basis sets can be given by the user in the basis section at the top level of the main input file. Next, if a path is given with the basisdir keyword, then all of the files given with the basisfiles keyword are read in after appending their names to the value of basisdir. Basis sets can be given in these files in the basis section at the top level as well. If the named basis set still cannot be found, then <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> will try convert the basis set name to a file name and check first in the directory given by basisdir. Next it checks for the environment variable SCLIBDIR. If it is set it will look for the basis file in $SCLIBDIR/basis. Otherwise it will look in the source code distribution in the directory SC/lib/basis. If the executable has changed machines or the source code has be moved, then it may be necessary to copy the library files to your machine and set the SCLIBDIR environmental variable.<p>
The basis set itself is also given in the <a class="el" href="classsc_1_1ParsedKeyVal.html" title="Converts textual information into keyword/value assocations.">ParsedKeyVal</a> format. There are two recognized formats for basis sets: <dl>
<dt>array of shells</dt>
<dd>One must specify the keyword :basis: followed by the lowercase atomic name followed by : followed by the basis set name (which may need to be placed inside double quotes). The value for the keyword is an array of shells. Each shell reads the following keywords:<p>
<dl>
<dt><code>type</code></dt>
<dd>This is a vector that describes each component of this shell. For each element the following two keywords are read:<p>
<dl>
<dt><code>am</code></dt>
<dd>The angular momentum of the component. This can be given as the letter designation, s, p, d, etc. There is no default.<p>
</dd>
<dt><code>puream</code></dt>
<dd>If this boolean parameter is true then 5D, 7F, etc. shells are used. The default is false. This parameter can be overridden in the <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> specification.<p>
</dd>
</dl>
<p>
</dd>
<dt><code>exp</code></dt>
<dd>This is a vector giving the exponents of the primitive Gaussian functions.<p>
</dd>
<dt><code>coef</code></dt>
<dd>This is a matrix giving the coeffients of the primitive Gaussian functions. The first index gives the component number of the shell and the second gives the primitive number.<p>
</dd>
</dl>
<p>
</dd>
<dt></dt>
<dd>An example might be easier to understand. This is a basis set specificition for STO-2G carbon:<p>
<pre>
        basis: (
         carbon: "STO-2G": [
          (type: [(am = s)]
           {      exp      coef:0 } = {
              27.38503303 0.43012850
               4.87452205 0.67891353
           })
          (type: [(am = p) (am = s)]
           {     exp      coef:1     coef:0 } = {
               1.13674819 0.04947177 0.51154071
               0.28830936 0.96378241 0.61281990
           })
         ]
        )
        </pre><p>
</dd>
<dt>basis set of even-tempered primitive Gaussians</dt>
<dd>Such basis set format is given as a group of keywords. The name of the group is :basis: followed by the lowercase atomic name followed by : followed by the basis set name (which may need to be placed inside double quotes). The group of keywords must contain vectors <code>am</code> and <code>nprim</code>, which specify the angular momentum and the number of shells in each block of even-tempered primitives. In addition, one must provide any two of the following vectors:<p>
<dl>
<dt><code>first_exp</code></dt>
<dd>The exponent of the "tightest" primitive Gaussian in the block.<p>
</dd>
<dt><code>last_exp</code></dt>
<dd>The exponent of the most "diffuse" primitive Gaussian in the block.<p>
</dd>
<dt><code>exp_ratio</code></dt>
<dd>The ratio of exponents of consecutive primitive Gaussians in the block.<p>
</dd>
</dl>
<p>
</dd>
<dt></dt>
<dd>Note that the dimensions of each vector must be the same.<p>
Here's an example of a basis set composed of 2 blocks of even-tempered s-functions and 1 block of even-tempered p-functions.<p>
<pre>
        basis: (
         neon: "20s5s13p":(</pre><p>
<pre>           am = [ 0 0 1 ]
           nprim = [ 20 5 13 ]
           first_exp = [ 1000.0 0.1  70.0 ]
           last_exp =  [    1.0 0.01  0.1 ]</pre><p>
<pre>         )
        )
        </pre><p>
</dd>
</dl>

</div>
</div><p>
<a class="anchor" name="4e9195dd151df9be0337afd55c4f52ed"></a><!-- doxytag: member="sc::GaussianBasisSet::GaussianBasisSet" ref="4e9195dd151df9be0337afd55c4f52ed" args="(UnitType)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::GaussianBasisSet::GaussianBasisSet           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet.html#abe02e5ecbc2a36a2d0d0eef69ce9b3c">UnitType</a>&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This can be given GaussianBasisSet::Unit to construct a basis set with a single basis function that is one everywhere. 
<p>
This can be used with integral evaluators to compute certain classes of integrals, with limitations. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d6a1cca6de2b4a43ec4befa87ae6d2e2"></a><!-- doxytag: member="sc::GaussianBasisSet::grad_shell_values" ref="d6a1cca6de2b4a43ec4befa87ae6d2e2" args="(const SCVector3 &amp;r, int sh, ValueData *, double *g_values, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::grad_shell_values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes gradients of the shell function values, too. See the other grad_values(...) members for more information. 
</div>
</div><p>
<a class="anchor" name="8515fa25332523b5844bdaac723b03b3"></a><!-- doxytag: member="sc::GaussianBasisSet::grad_values" ref="8515fa25332523b5844bdaac723b03b3" args="(const SCVector3 &amp;r, ValueData *, double *g_values, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::grad_values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes gradients of the basis function values, too. The g_values argument must be vector of length 3*nbasis. The data will be written in the order bf1_x, bf1_y, bf1_z, ... 
</div>
</div><p>
<a class="anchor" name="68a12fecb52fd576c83e9fe8ac27164c"></a><!-- doxytag: member="sc::GaussianBasisSet::hessian_shell_values" ref="68a12fecb52fd576c83e9fe8ac27164c" args="(const SCVector3 &amp;r, int sh, ValueData *, double *h_values, double *g_values=0, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::hessian_shell_values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>h_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes first and second derivatives of the shell function values, too. See the other hessian_values(...) members for more information. 
</div>
</div><p>
<a class="anchor" name="332b57f3b12351e3579214ba655cf8f6"></a><!-- doxytag: member="sc::GaussianBasisSet::hessian_values" ref="332b57f3b12351e3579214ba655cf8f6" args="(const SCVector3 &amp;r, ValueData *, double *h_values, double *g_values=0, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::hessian_values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>h_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes first and second derivatives of the basis function values, too. h_values must be vector of length 6*nbasis. The data will be written in the order bf1_xx, bf1_yx, bf1_yy, bf1_zx, bf1_zy, bf1_zz, ... 
</div>
</div><p>
<a class="anchor" name="cb0d3d07183c4851ef28963537019006"></a><!-- doxytag: member="sc::GaussianBasisSet::label" ref="cb0d3d07183c4851ef28963537019006" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* sc::GaussianBasisSet::label           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the label of the basis set. 
<p>
<a class="el" href="classsc_1_1GaussianBasisSet.html#cb0d3d07183c4851ef28963537019006" title="Return the label of the basis set.">label()</a> return the same string as <a class="el" href="classsc_1_1GaussianBasisSet.html#3ba5ec206b5b54b65ccdd3c6c076a7b2" title="Return the name of the basis set (is nonnull only if keyword &quot;name&quot; was...">name()</a> if keyword "name" was provided, otherwise it is a unique descriptive string which can be arbitrarily long. 
<p>References <a class="el" href="gaussbas_8h_source.html#l00399">name()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a18bb75536e3359ce174ad890818c69d"></a><!-- doxytag: member="sc::GaussianBasisSet::max_am_for_contraction" ref="a18bb75536e3359ce174ad890818c69d" args="(int con) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::max_am_for_contraction           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>con</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the maximum angular momentum found in the given contraction number for any shell. 
<p>

</div>
</div><p>
<a class="anchor" name="6c46dca677c0b0175d28ab0c646c16dd"></a><!-- doxytag: member="sc::GaussianBasisSet::max_ncartesian_in_shell" ref="6c46dca677c0b0175d28ab0c646c16dd" args="(int aminc=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::max_ncartesian_in_shell           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>aminc</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the maximum number of Cartesian functions that any shell has. 
<p>
The optional argument is an angular momentum increment. 
</div>
</div><p>
<a class="anchor" name="461ed9a3b9dbc14a4aa12091095dde47"></a><!-- doxytag: member="sc::GaussianBasisSet::operator+" ref="461ed9a3b9dbc14a4aa12091095dde47" args="(const Ref&lt; GaussianBasisSet &gt; &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsc_1_1Ref.html">Ref</a>&lt;<a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a>&gt; sc::GaussianBasisSet::operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a <a class="el" href="classsc_1_1GaussianBasisSet.html" title="The GaussianBasisSet class is used describe a basis set composed of atomic gaussian...">GaussianBasisSet</a> object that consists of the basis functions for each atom in this followed by the basis functions in B for the corresponding atom. 
<p>
The <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> object for the two basis sets must be identical. 
</div>
</div><p>
<a class="anchor" name="781d0b6a5736a794a17f717b665b1694"></a><!-- doxytag: member="sc::GaussianBasisSet::r" ref="781d0b6a5736a794a17f717b665b1694" args="(int icenter, int xyz) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sc::GaussianBasisSet::r           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>icenter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xyz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The location of center icenter. 
<p>
The xyz argument is 0 for x, 1 for y, and 2 for z. 
</div>
</div><p>
<a class="anchor" name="0847f5b840d5cea2a78cb0c07546c4c7"></a><!-- doxytag: member="sc::GaussianBasisSet::save_data_state" ref="0847f5b840d5cea2a78cb0c07546c4c7" args="(StateOut &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::GaussianBasisSet::save_data_state           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. 
<p>
This must be implemented by the derived class if the class has data. 
<p>Reimplemented from <a class="el" href="classsc_1_1SavableState.html#f9e0c212322d3c0f43e2dcb33e111acf">sc::SavableState</a>.</p>

</div>
</div><p>
<a class="anchor" name="27949a83fc05f03358328a4e6c67df6e"></a><!-- doxytag: member="sc::GaussianBasisSet::shell_on_center" ref="27949a83fc05f03358328a4e6c67df6e" args="(int icenter, int shell) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::shell_on_center           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>icenter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>shell</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return an overall shell number, given a center and the shell number on that center. 
<p>

</div>
</div><p>
<a class="anchor" name="5ca4483c793d1a7344b5328a84bc6573"></a><!-- doxytag: member="sc::GaussianBasisSet::shell_values" ref="5ca4483c793d1a7344b5328a84bc6573" args="(const SCVector3 &amp;r, int sh, ValueData *, double *basis_values) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::shell_values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for the given shell functions at position r. 
<p>
See the other values(...) members for more information. 
</div>
</div><p>
<a class="anchor" name="07895a6283eec78d81c9f23b947008e5"></a><!-- doxytag: member="sc::GaussianBasisSet::values" ref="07895a6283eec78d81c9f23b947008e5" args="(const SCVector3 &amp;r, ValueData *, double *basis_values) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianBasisSet::values           </td>
          <td>(</td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1GaussianBasisSet_1_1ValueData.html">ValueData</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for this basis set at position r. 
<p>
The basis_values argument must be vector of length nbasis. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gaussbas_8h_source.html">gaussbas.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:13 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

</small>
</address>
</body>
</html>