MPQC  3.0.0-alpha
sc::Atom Class Reference

Atom represents an atom in a Molecule. More...

#include <chemistry/molecule/atom.h>

Inheritance diagram for sc::Atom:
mpqc::TA::cluster::ClusterAtom

Public Member Functions

 Atom (int Z, double x, double y, double z, const std::string &label, double mass=0, int have_charge=0, double charge=0, int have_fragment=0, int fragment=0)
 Creates an atom for use in the sc::Molecule class. More...
 
 Atom (int Z, double x, double y, double z, const char *label=0, double mass=0, int have_charge=0, double charge=0, int have_fragment=0, int fragment=0)
 Constructs an atom object that takes a c style char * array.
 
 Atom ()
 Default constructor supplied so that Atom will work with sc::SavableState. More...
 
 Atom (const Atom &other)
 
double & r (int xyz)
 Returns a reference to the x,y, or z coordinate.
 
const double & r (int xyz) const
 
double * r ()
 Returns a pointer to the coordinate array.
 
const double * r () const
 
int Z () const
 Returns atomic number.
 
double mass () const
 
bool have_charge () const
 
double charge () const
 
bool have_fragment () const
 
int fragment () const
 
const std::string & label () const
 

Friends

void FromStateIn (Atom &a, StateIn &so, int &count)
 reads Atom from sc::StateIn
 

Detailed Description

Atom represents an atom in a Molecule.

Its position is defined relative to the coordinate system of the Molecule. It also has an atomic number. Optionally, it can has a charge, mass, and it can belong to a fragment.

Constructor & Destructor Documentation

◆ Atom() [1/2]

sc::Atom::Atom ( int  Z,
double  x,
double  y,
double  z,
const std::string &  label,
double  mass = 0,
int  have_charge = 0,
double  charge = 0,
int  have_fragment = 0,
int  fragment = 0 
)
inline

Creates an atom for use in the sc::Molecule class.

Parameters
ZAtomic charge of the nucleous.
xx Coordinate of position vector.
yy Coordinate of position vector.
zz Coordinate of position vector.
labelA string which gives the atom a user defined label.
massThe mass of the nuclous.
have_chargeA boolean which signals a charge different than Z has been specified by the user.
chargeA user specified charge which is different than Z.
have_fragment_A boolean which specifies that the atom belongs to a specific fragment.
fragmentSpecifies to which fragment the atom belongs if 0 then the atom does not belong to a fragment.

◆ Atom() [2/2]

sc::Atom::Atom ( )
inline

Default constructor supplied so that Atom will work with sc::SavableState.

The user should not use this.

@Warning Do not use, meant for sc::SavableState


The documentation for this class was generated from the following file:

Generated at Sun Jan 26 2020 23:24:03 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.