<!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::TwoBodyTwoCenterDerivInt 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html">TwoBodyTwoCenterDerivInt</a> </div> </div> <div class="contents"> <h1>sc::TwoBodyTwoCenterDerivInt Class Reference</h1><!-- doxytag: class="sc::TwoBodyTwoCenterDerivInt" --><!-- doxytag: inherits="sc::RefCount" -->This is an abstract base type for classes that compute two centers integrals involving two electrons. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="tbint_8h_source.html">tbint.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::TwoBodyTwoCenterDerivInt:</div> <div class="dynsection"> <p><center><img src="classsc_1_1TwoBodyTwoCenterDerivInt.png" usemap="#sc::TwoBodyTwoCenterDerivInt_map" border="0" alt=""></center> <map name="sc::TwoBodyTwoCenterDerivInt_map"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,188,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,188,24"> </map> </div> <p> <a href="classsc_1_1TwoBodyTwoCenterDerivInt-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2fa37cec0874d97b6ea7abb1c260dce5"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nbasis" ref="2fa37cec0874d97b6ea7abb1c260dce5" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#2fa37cec0874d97b6ea7abb1c260dce5">nbasis</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of basis functions on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7e5b3697183d34e7facf3ad70a4a524"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nbasis1" ref="a7e5b3697183d34e7facf3ad70a4a524" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#a7e5b3697183d34e7facf3ad70a4a524">nbasis1</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of basis functions on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41e878359c72331d9428a738edf33982"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nbasis2" ref="41e878359c72331d9428a738edf33982" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#41e878359c72331d9428a738edf33982">nbasis2</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of basis functions on center two. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a18739d0dc9299119e6aaa1ff9d99aa"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nshell" ref="6a18739d0dc9299119e6aaa1ff9d99aa" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#6a18739d0dc9299119e6aaa1ff9d99aa">nshell</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of shells on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82ca0957558ba25f406867b0e8bb243a"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nshell1" ref="82ca0957558ba25f406867b0e8bb243a" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#82ca0957558ba25f406867b0e8bb243a">nshell1</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of shells on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3748d7c52e2883d94fd30e787d296a35"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::nshell2" ref="3748d7c52e2883d94fd30e787d296a35" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#3748d7c52e2883d94fd30e787d296a35">nshell2</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of shells on center two. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422d623272200b3e31644f3363ecca6"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::basis" ref="d422d623272200b3e31644f3363ecca6" args="()" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#d422d623272200b3e31644f3363ecca6">basis</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the basis set on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c60563220254bad6973793d657ba34ff"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::basis1" ref="c60563220254bad6973793d657ba34ff" args="()" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#c60563220254bad6973793d657ba34ff">basis1</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the basis set on center one. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="64b0051b269887355855946ef674fe39"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::basis2" ref="64b0051b269887355855946ef674fe39" args="()" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#64b0051b269887355855946ef674fe39">basis2</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the basis set on center two. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0626672f1de6ef5285c2d334cf413dfc"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::buffer" ref="0626672f1de6ef5285c2d334cf413dfc" args="() const " --> const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#0626672f1de6ef5285c2d334cf413dfc">buffer</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The computed shell integrals will be put in the buffer returned by this member. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#6723172093b791600930f62a7132e375">compute_shell</a> (int, int, <a class="el" href="classsc_1_1DerivCenters.html">DerivCenters</a> &)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Given for shell indices, this will cause the integral buffer to be filled in. <a href="#6723172093b791600930f62a7132e375"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1TwoBodyTwoCenterDerivInt.html#9c6944b3974d770e4b09600d3b1b1a35">log2_shell_bound</a> (int=-1, int=-1)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return log base 2 of the maximum magnitude of any integral in a shell block. <a href="#9c6944b3974d770e4b09600d3b1b1a35"></a><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="4501681db0d04f43c8d83ba9276a9684"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::TwoBodyTwoCenterDerivInt" ref="4501681db0d04f43c8d83ba9276a9684" args="(Integral *integral, const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2)" --> </td><td class="memItemRight" valign="bottom"><b>TwoBodyTwoCenterDerivInt</b> (<a class="el" href="classsc_1_1Integral.html">Integral</a> *integral, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > &b1, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > &b2)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1fbfc556b79295f23e3fc6563c541a4"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::integral_" ref="f1fbfc556b79295f23e3fc6563c541a4" args="" --> <a class="el" href="classsc_1_1Integral.html">Integral</a> * </td><td class="memItemRight" valign="bottom"><b>integral_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f63ddce5d4f06e668431ddbfcefd085d"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::bs1_" ref="f63ddce5d4f06e668431ddbfcefd085d" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > </td><td class="memItemRight" valign="bottom"><b>bs1_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a739621b9ced4d2ac622695907cbe458"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::bs2_" ref="a739621b9ced4d2ac622695907cbe458" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1GaussianBasisSet.html">GaussianBasisSet</a> > </td><td class="memItemRight" valign="bottom"><b>bs2_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6440dc5f10f6e914538a27b6046d3bd4"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::buffer_" ref="6440dc5f10f6e914538a27b6046d3bd4" args="" --> double * </td><td class="memItemRight" valign="bottom"><b>buffer_</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This is an abstract base type for classes that compute two centers integrals involving two electrons. <hr><h2>Member Function Documentation</h2> <a class="anchor" name="6723172093b791600930f62a7132e375"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::compute_shell" ref="6723172093b791600930f62a7132e375" args="(int, int, DerivCenters &)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void sc::TwoBodyTwoCenterDerivInt::compute_shell </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classsc_1_1DerivCenters.html">DerivCenters</a> & </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Given for shell indices, this will cause the integral buffer to be filled in. <p> </div> </div><p> <a class="anchor" name="9c6944b3974d770e4b09600d3b1b1a35"></a><!-- doxytag: member="sc::TwoBodyTwoCenterDerivInt::log2_shell_bound" ref="9c6944b3974d770e4b09600d3b1b1a35" args="(int=-1, int=-1)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int sc::TwoBodyTwoCenterDerivInt::log2_shell_bound </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> = <code>-1</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return log base 2 of the maximum magnitude of any integral in a shell block. <p> An index of -1 for any argument indicates any shell. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="tbint_8h_source.html">tbint.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>