---
name: "sc_AtomInfo"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_AtomInfo"
---

# sc\_AtomInfo(3)

The AtomInfo class provides information about atoms.

## NAME

sc::AtomInfo - The **AtomInfo** class provides information about atoms.

## SYNOPSIS

`#include <atominfo.h>`

Inherits **sc::SavableState**.

### Public Member Functions

**AtomInfo** (const **Ref**\< **KeyVal** \> &)\
 The **AtomInfo** **KeyVal** constructor is used to generate a **AtomInfo** object from the input.  **AtomInfo** (**StateIn** &)\
 void **save\_data\_state** (**StateOut** &s)\
 Save the base classes (with save\_data\_state) and the members in the same order that the **StateIn** CTOR initializes them.  double **vdw\_radius** (int Z) const\
 These return various measures of the atom's radius.  double **bragg\_radius** (int Z) const\
 double **atomic\_radius** (int Z) const\
 double **maxprob\_radius** (int Z) const\
 double **ip** (int Z) const\
 Returns the atomization potential for atomic number Z.  double **vdw\_radius\_scale** () const\
 Return the scale factor for the VdW radii.  double **bragg\_radius\_scale** () const\
 Return the scale factor for the Bragg radii.  double **atomic\_radius\_scale** () const\
 Return the scale factor for the atomic radii.  double **maxprob\_radius\_scale** () const\
 Return the scale factor for the maximum probability radii.  double **rgb** (int Z, int color) const\
 These return information about the color of the atom for visualization programs.  double **red** (int Z) const\
 double **green** (int Z) const\
 double **blue** (int Z) const\
 double **mass** (int Z) const\
 This returns the mass of the most abundant isotope.  std::string **name** (int Z)\
 This returns the full name of the element.  std::string **symbol** (int Z)\
 This returns the symbol for the element.  int **string\_to\_Z** (const std::string &, int allow\_exceptions=1)\
 This converts a name or symbol to the atomic number.

### Additional Inherited Members

## Detailed Description

The **AtomInfo** class provides information about atoms.

The information is kept in a file named atominfo.kv in the SC library directory. That information can be overridden by the user.

## Constructor & Destructor Documentation

### sc::AtomInfo::AtomInfo (const Ref\< KeyVal \> &)

The **AtomInfo** **KeyVal** constructor is used to generate a **AtomInfo** object from the input. Default values will be read in from the `atominfo.kv` file in library directory. These can be overridden by specifying the keyword below. The library file is also read using a **KeyVal** constructor syntax, so consult that file for an example.

KeywordTypeDefaultDescription

`mass:unit`string\<td\>`amu`The unit to be used for masses. See the **Units** class for more information about units.

`mass:`*symbol*doublelibrary valueThe mass associated with the given atomic symbol.

`vdw_radius:unit`string\<td\>`bohr`The unit to be used for van der Waals radii. See the **Units** class for more information about units.

`vdw_radius:scaling_factor`double1.0The scaling factor to be used for all van der Waals radii, including library values.

`vdw_radius:`*symbol*doublelibrary value The van der Waals radius associated with the given atomic symbol.

`atomic_radius:unit`string\<td\>`bohr`The unit to be used for atomic radii. See the **Units** class for more information about units.

`atomic_radius:scaling_factor`double1.0The scaling factor to be used for all atomic radii, including library values.

`atomic_radius:`*symbol*doublelibrary value The atomic radius associated with the given atomic symbol.

`bragg_radius:unit`string\<td\>`bohr`The unit to be used for Bragg radii. See the **Units** class for more information about units.

`bragg_radius:scaling_factor`double1.0The scaling factor to be used for all Bragg radii, including library values.

`bragg_radius:`*symbol*doublelibrary value The Bragg radius associated with the given atomic symbol.

`maxprob_radius:unit`string\<td\>`bohr`The unit to be used for maximum probability radii. See the **Units** class for more information about units.

`maxprob_radius:scaling_factor`double1.0The scaling factor to be used for all maximum probability radii, including library values.

`maxprob_radius:`*symbol*doublelibrary valueThe maximum probability radius associated with the given atomic symbol.

`ip:unit`string\<td\>`Hartree`The unit to be used for ionization potentials. See the **Units** class for more information about units.

`ip:`*symbol*doublelibrary valueThe ionization potential for the given atom.

`rgb:`*symbol*double\[3\]library valueA vector with the red, green, and blue values used to color each atom. Each element is between 0 (off) and 1 (on).

## Member Function Documentation

### void sc::AtomInfo::save\_data\_state (StateOut &)` [virtual]`

Save the base classes (with save\_data\_state) and the members in the same order that the **StateIn** CTOR initializes them. This must be implemented by the derived class if the class has data.

Reimplemented from **sc::SavableState**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
