<!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::AtomInfo 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_1AtomInfo.html">AtomInfo</a> </div> </div> <div class="contents"> <h1>sc::AtomInfo Class Reference</h1><!-- doxytag: class="sc::AtomInfo" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> class provides information about atoms. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="atominfo_8h_source.html">atominfo.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::AtomInfo:</div> <div class="dynsection"> <p><center><img src="classsc_1_1AtomInfo.png" usemap="#sc::AtomInfo_map" border="0" alt=""></center> <map name="sc::AtomInfo_map"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,120,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,120,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,120,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,120,24"> </map> </div> <p> <a href="classsc_1_1AtomInfo-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">struct </td><td class="memItemRight" valign="bottom"><b>atom</b></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#d27d39dbc851e56f0b7f93b3282ab8c6">AtomInfo</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> <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 is used to generate a <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> object from the input. <a href="#d27d39dbc851e56f0b7f93b3282ab8c6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72b4d998e00ac99930c80afd3fe30c61"></a><!-- doxytag: member="sc::AtomInfo::AtomInfo" ref="72b4d998e00ac99930c80afd3fe30c61" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>AtomInfo</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#43bb1c9eaa4538c10680b4d186a722c7">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &s)</td></tr> <tr><td class="mdescLeft"> </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="#43bb1c9eaa4538c10680b4d186a722c7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a213236e605e687253355c3650d4bd1"></a><!-- doxytag: member="sc::AtomInfo::vdw_radius" ref="6a213236e605e687253355c3650d4bd1" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#6a213236e605e687253355c3650d4bd1">vdw_radius</a> (int Z) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">These return various measures of the atom's radius. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e4b7b68eb89434e919f979fd6328489"></a><!-- doxytag: member="sc::AtomInfo::bragg_radius" ref="6e4b7b68eb89434e919f979fd6328489" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>bragg_radius</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab85b37e4f9d9e95d62677c2927661f1"></a><!-- doxytag: member="sc::AtomInfo::atomic_radius" ref="ab85b37e4f9d9e95d62677c2927661f1" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>atomic_radius</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d243145245f0ac93ea52c6285e7ca93"></a><!-- doxytag: member="sc::AtomInfo::maxprob_radius" ref="9d243145245f0ac93ea52c6285e7ca93" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>maxprob_radius</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39bfbe37378d523c63d14ac4e9563d76"></a><!-- doxytag: member="sc::AtomInfo::ip" ref="39bfbe37378d523c63d14ac4e9563d76" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#39bfbe37378d523c63d14ac4e9563d76">ip</a> (int Z) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the atomization potential for atomic number Z. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8eea84dd0813227ab12fed72e1a4b54f"></a><!-- doxytag: member="sc::AtomInfo::vdw_radius_scale" ref="8eea84dd0813227ab12fed72e1a4b54f" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#8eea84dd0813227ab12fed72e1a4b54f">vdw_radius_scale</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the scale factor for the VdW radii. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="adf2116d2b461efbe056b4e789c48c10"></a><!-- doxytag: member="sc::AtomInfo::bragg_radius_scale" ref="adf2116d2b461efbe056b4e789c48c10" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#adf2116d2b461efbe056b4e789c48c10">bragg_radius_scale</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the scale factor for the Bragg radii. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee33c4a5f8e56be1fb6e099acd5c2588"></a><!-- doxytag: member="sc::AtomInfo::atomic_radius_scale" ref="ee33c4a5f8e56be1fb6e099acd5c2588" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#ee33c4a5f8e56be1fb6e099acd5c2588">atomic_radius_scale</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the scale factor for the atomic radii. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26ccf092d5ed0a06a92581c85251e573"></a><!-- doxytag: member="sc::AtomInfo::maxprob_radius_scale" ref="26ccf092d5ed0a06a92581c85251e573" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#26ccf092d5ed0a06a92581c85251e573">maxprob_radius_scale</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the scale factor for the maximum probability radii. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#8ae0a293337b5261d68e876e123ea270">rgb</a> (int Z, int color) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">These return information about the color of the atom for visualization programs. <a href="#8ae0a293337b5261d68e876e123ea270"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4cf4a4ccc9d5ce144a5a0fa830da4648"></a><!-- doxytag: member="sc::AtomInfo::red" ref="4cf4a4ccc9d5ce144a5a0fa830da4648" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>red</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a30704b6b2dd763cdbab3bf5effc21b"></a><!-- doxytag: member="sc::AtomInfo::green" ref="5a30704b6b2dd763cdbab3bf5effc21b" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>green</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f5094ae9e69d3e40ba5943f3c456dc8"></a><!-- doxytag: member="sc::AtomInfo::blue" ref="0f5094ae9e69d3e40ba5943f3c456dc8" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><b>blue</b> (int Z) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2dd4011dc954c1328fe6f76421e7bd67"></a><!-- doxytag: member="sc::AtomInfo::mass" ref="2dd4011dc954c1328fe6f76421e7bd67" args="(int Z) const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#2dd4011dc954c1328fe6f76421e7bd67">mass</a> (int Z) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This returns the mass of the most abundant isotope. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b73bc35d761adf7679a9299a677c5ad1"></a><!-- doxytag: member="sc::AtomInfo::name" ref="b73bc35d761adf7679a9299a677c5ad1" args="(int Z)" --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#b73bc35d761adf7679a9299a677c5ad1">name</a> (int Z)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This returns the full name of the element. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c258cee9997782f4193ef6f70a2a0514"></a><!-- doxytag: member="sc::AtomInfo::symbol" ref="c258cee9997782f4193ef6f70a2a0514" args="(int Z)" --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#c258cee9997782f4193ef6f70a2a0514">symbol</a> (int Z)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This returns the symbol for the element. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f1602b0eb48d3e9ff9655b324ba93e9"></a><!-- doxytag: member="sc::AtomInfo::string_to_Z" ref="0f1602b0eb48d3e9ff9655b324ba93e9" args="(const std::string &, int allow_exceptions=1)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1AtomInfo.html#0f1602b0eb48d3e9ff9655b324ba93e9">string_to_Z</a> (const std::string &, int allow_exceptions=1)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This converts a name or symbol to the atomic number. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> class provides information about atoms. <p> The information is kept in a file named atominfo.kv in the SC library directory. That information can be overridden by the user. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="d27d39dbc851e56f0b7f93b3282ab8c6"></a><!-- doxytag: member="sc::AtomInfo::AtomInfo" ref="d27d39dbc851e56f0b7f93b3282ab8c6" args="(const Ref< KeyVal > &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::AtomInfo::AtomInfo </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > & </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> <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 is used to generate a <a class="el" href="classsc_1_1AtomInfo.html" title="The AtomInfo class provides information about atoms.">AtomInfo</a> object from the input. <p> Default values will be read in from the <code>atominfo.kv</code> file in library directory. These can be overridden by specifying the keyword below. The library file is also read using a <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 syntax, so consult that file for an example.<p> <table border="1" cellspacing="3" cellpadding="3"> <tr> <td>Keyword</td><td>Type</td><td>Default</td><td>Description<p> </td></tr> <tr> <td><code>mass:unit</code></td><td>string</td><td><code>amu</code></td><td>The unit to be used for masses. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>mass:</code><em>symbol</em></td><td>double</td><td>library value</td><td>The mass associated with the given atomic symbol.<p> </td></tr> <tr> <td><code>vdw_radius:unit</code></td><td>string</td><td><code>bohr</code></td><td>The unit to be used for van der Waals radii. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>vdw_radius:scaling_factor</code></td><td>double</td><td>1.0</td><td>The scaling factor to be used for all van der Waals radii, including library values.<p> </td></tr> <tr> <td><code>vdw_radius:</code><em>symbol</em></td><td>double</td><td>library value </td><td>The van der Waals radius associated with the given atomic symbol.<p> </td></tr> <tr> <td><code>atomic_radius:unit</code></td><td>string</td><td><code>bohr</code></td><td>The unit to be used for atomic radii. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>atomic_radius:scaling_factor</code></td><td>double</td><td>1.0</td><td>The scaling factor to be used for all atomic radii, including library values.<p> </td></tr> <tr> <td><code>atomic_radius:</code><em>symbol</em></td><td>double</td><td>library value </td><td>The atomic radius associated with the given atomic symbol.<p> </td></tr> <tr> <td><code>bragg_radius:unit</code></td><td>string</td><td><code>bohr</code></td><td>The unit to be used for Bragg radii. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>bragg_radius:scaling_factor</code></td><td>double</td><td>1.0</td><td>The scaling factor to be used for all Bragg radii, including library values.<p> </td></tr> <tr> <td><code>bragg_radius:</code><em>symbol</em></td><td>double</td><td>library value </td><td>The Bragg radius associated with the given atomic symbol.<p> </td></tr> <tr> <td><code>maxprob_radius:unit</code></td><td>string</td><td><code>bohr</code></td><td>The unit to be used for maximum probability radii. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>maxprob_radius:scaling_factor</code></td><td>double</td><td>1.0</td><td>The scaling factor to be used for all maximum probability radii, including library values.<p> </td></tr> <tr> <td><code>maxprob_radius:</code><em>symbol</em></td><td>double</td><td>library value</td><td>The maximum probability radius associated with the given atomic symbol.<p> </td></tr> <tr> <td><code>ip:unit</code></td><td>string</td><td><code>Hartree</code></td><td>The unit to be used for ionization potentials. See the <a class="el" href="classsc_1_1Units.html" title="The Units class is used to perform unit converions.">Units</a> class for more information about units.<p> </td></tr> <tr> <td><code>ip:</code><em>symbol</em></td><td>double</td><td>library value</td><td>The ionization potential for the given atom.<p> </td></tr> <tr> <td><code>rgb:</code><em>symbol</em></td><td>double[3]</td><td>library value</td><td>A vector with the red, green, and blue values used to color each atom. Each element is between 0 (off) and 1 (on).<p> </td></tr> </table> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="8ae0a293337b5261d68e876e123ea270"></a><!-- doxytag: member="sc::AtomInfo::rgb" ref="8ae0a293337b5261d68e876e123ea270" args="(int Z, int color) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double sc::AtomInfo::rgb </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>Z</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>color</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> These return information about the color of the atom for visualization programs. <p> </div> </div><p> <a class="anchor" name="43bb1c9eaa4538c10680b4d186a722c7"></a><!-- doxytag: member="sc::AtomInfo::save_data_state" ref="43bb1c9eaa4538c10680b4d186a722c7" args="(StateOut &s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::AtomInfo::save_data_state </td> <td>(</td> <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> & </td> <td class="paramname"> </td> <td> ) </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> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="atominfo_8h_source.html">atominfo.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:12 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>