9#include "MantidKernel/DllConfig.h"
20class MANTID_KERNEL_DLL
Atom {
23 Atom(std::string symbol,
const uint16_t
z,
const uint16_t a,
const double abundance,
const double mass,
24 const double density);
65MANTID_KERNEL_DLL std::ostream &
operator<<(std::ostream &out,
const Atom &atom);
66MANTID_KERNEL_DLL
const Atom &
getAtom(
const uint16_t z_number,
const uint16_t a_number = 0);
67MANTID_KERNEL_DLL
const Atom &
getAtom(
const std::string &symbol,
const uint16_t a_number = 0);
Struture to hold the common information for an atom.
const std::string symbol
The atomic symbol. In other words the one or two character abbreviation.
const NeutronAtom neutron
Handle to class containing neutronic atomic properties.
const uint16_t z_number
The atomic number, or number of protons, for the atom.
const double abundance
The natural abundance of the isotope as a percentage between 0 and 100.
const uint16_t a_number
The total number of protons and neutrons, or mass number, for the atom for isotopic averages this is ...
const double mass
The atomic mass in units of 'u' (=1g/mol/Na).
const double number_density
The number density in units of cm-3 as calculated from the mass density.
const double mass_density
The atomic mass density in units of g/cm3.
A namespace containing physical constants that are required by algorithms and unit routines.
MANTID_KERNEL_DLL bool operator!=(const Atom &left, const Atom &right)
Inequality operator overload.
MANTID_KERNEL_DLL const Atom & getAtom(const uint16_t z_number, const uint16_t a_number=0)
MANTID_KERNEL_DLL std::ostream & operator<<(std::ostream &out, const Atom &atom)
Stream operator overload.
MANTID_KERNEL_DLL bool operator==(const Atom &left, const Atom &right)
Equality operator overload.
Helper class which provides the Collimation Length for SANS instruments.
Structure to store neutronic scattering information for the various elements.