BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Enumerator | Functions | Variables
Periodic Table of Elements

Classes

class  BALL::Element
 
class  BALL::PTE_
 
struct  BALL::PTE_::SymbolToElement
 

Typedefs

typedef short BALL::Element::Group
 
typedef short BALL::Element::Period
 
typedef short BALL::Element::AtomicNumber
 

Enumerations

enum  BALL::Element::Name {
  BALL::Element::ACTINIUM = 0, BALL::Element::ALUMINUM, BALL::Element::AMERICIUM, BALL::Element::ANTIMONY,
  BALL::Element::STIBIUM = ANTIMONY, BALL::Element::ARGON, BALL::Element::ARSENIC, BALL::Element::ASTATINE,
  BALL::Element::BARIUM, BALL::Element::BERKELIUM, BALL::Element::BERYLLIUM, BALL::Element::BISMUTH,
  BALL::Element::WISMUT = BISMUTH, BALL::Element::BOHRIUM, BALL::Element::BORON, BALL::Element::BROMINE,
  BALL::Element::CADMIUM, BALL::Element::CAESIUM, BALL::Element::CALCIUM, BALL::Element::CALIFORNIUM,
  BALL::Element::CARBON, BALL::Element::CARBONEUM = CARBON, BALL::Element::CERIUM, BALL::Element::CHLORINE,
  BALL::Element::CHROMIUM, BALL::Element::COBALT, BALL::Element::COPPER, BALL::Element::CUPRUM = COPPER,
  BALL::Element::CURIUM, BALL::Element::DUBNIUM, BALL::Element::DYSPROSIUM, BALL::Element::EINSTEINIUM,
  BALL::Element::ERBIUM, BALL::Element::EUROPIUM, BALL::Element::FERMIUM, BALL::Element::FLUORINE,
  BALL::Element::FRANCIUM, BALL::Element::GADOLINIUM, BALL::Element::GALLIUM, BALL::Element::GERMANIUM,
  BALL::Element::GOLD, BALL::Element::AURUM = GOLD, BALL::Element::HAFNIUM, BALL::Element::HAHNIUM,
  BALL::Element::HELIUM, BALL::Element::HOLMIUM, BALL::Element::HYDROGEN, BALL::Element::HYDROGENIUM = HYDROGEN,
  BALL::Element::INDIUM, BALL::Element::IODINE, BALL::Element::JOD = IODINE, BALL::Element::IRIDIUM,
  BALL::Element::IRON, BALL::Element::FERRUM = IRON, BALL::Element::JOLIOTIUM, BALL::Element::KRYPTON,
  BALL::Element::LANTHANUM, BALL::Element::LAWRENCIUM, BALL::Element::LEAD, BALL::Element::PLUMBUM = LEAD,
  BALL::Element::LITHIUM, BALL::Element::LUTETIUM, BALL::Element::MAGNESIUM, BALL::Element::MANGANESE,
  BALL::Element::MANGAN = MANGANESE, BALL::Element::MEITNERIUM, BALL::Element::MENDELEVIUM, BALL::Element::MERCURY,
  BALL::Element::HYDRARGYRUM = MERCURY, BALL::Element::MERCURIUM = MERCURY, BALL::Element::MOLYBDENUM, BALL::Element::NEODYMIUM,
  BALL::Element::NEON, BALL::Element::NEPTUNIUM, BALL::Element::NICKEL, BALL::Element::NIOBIUM,
  BALL::Element::NITROGEN, BALL::Element::NITROGENIUM = NITROGEN, BALL::Element::NOBELIUM, BALL::Element::OSMIUM,
  BALL::Element::OXYGEN, BALL::Element::OXYGENIUM = OXYGEN, BALL::Element::PALLADIUM, BALL::Element::PHOSPHORUS,
  BALL::Element::PLATINUM, BALL::Element::PLUTONIUM, BALL::Element::POLONIUM, BALL::Element::POTASSIUM,
  BALL::Element::KALIUM = POTASSIUM, BALL::Element::PRASEODYMIUM, BALL::Element::PROMETHIUM, BALL::Element::PROTACTINIUM,
  BALL::Element::RADIUM, BALL::Element::RADON, BALL::Element::RHENIUM, BALL::Element::RHODIUM,
  BALL::Element::RUBIDIUM, BALL::Element::RUTHENIUM, BALL::Element::RUTHERFORDIUM, BALL::Element::SAMARIUM,
  BALL::Element::SCANDIUM, BALL::Element::SELENIUM, BALL::Element::SILICON, BALL::Element::SILICIUM = SILICON,
  BALL::Element::SILVER, BALL::Element::ARGENTUM = SILVER, BALL::Element::SODIUM, BALL::Element::NATRIUM = SODIUM,
  BALL::Element::STRONTIUM, BALL::Element::SULPHUR, BALL::Element::SULFUR = SULPHUR, BALL::Element::TANTALUM,
  BALL::Element::TECHNETIUM, BALL::Element::TELLURIUM, BALL::Element::TERBIUM, BALL::Element::THALLIUM,
  BALL::Element::THORIUM, BALL::Element::THULIUM, BALL::Element::TIN, BALL::Element::STANNUM = TIN,
  BALL::Element::TITANIUM, BALL::Element::TUNGSTEN, BALL::Element::WOLFRAM = TUNGSTEN, BALL::Element::UNUNBIUM,
  BALL::Element::UNUNNILIUM, BALL::Element::UNUNNINIUM, BALL::Element::URANIUM, BALL::Element::VANADIUM,
  BALL::Element::XENON, BALL::Element::YTTERBIUM, BALL::Element::YTTRIUM, BALL::Element::ZINC,
  BALL::Element::ZINCUM = ZINC, BALL::Element::ZIRCONIUM, BALL::Element::NUMBER_OF_ELEMENTS
}
 

Functions

BALL_EXPORT std::ostream & BALL::operator<< (std::ostream &s, const Element &element)
 

Variables

static Element BALL::Element::UNKNOWN
 
const char * BALL::PTE_::SymbolToElement::symbol
 
Element * BALL::PTE_::SymbolToElement::element
 

Symbol

Element symbols.

enum  BALL::Element::Symbol {
  BALL::Element::Ac = 0, BALL::Element::Al, BALL::Element::Am, BALL::Element::Sb,
  BALL::Element::Ar, BALL::Element::As, BALL::Element::At, BALL::Element::Ba,
  BALL::Element::Bk, BALL::Element::Be, BALL::Element::Bi, BALL::Element::Bh,
  BALL::Element::B, BALL::Element::Br, BALL::Element::Cd, BALL::Element::Cs,
  BALL::Element::Ca, BALL::Element::Cf, BALL::Element::C, BALL::Element::Ce,
  BALL::Element::Cl, BALL::Element::Cr, BALL::Element::Co, BALL::Element::Cu,
  BALL::Element::Cm, BALL::Element::Db, BALL::Element::Dy, BALL::Element::Es,
  BALL::Element::Er, BALL::Element::Eu, BALL::Element::Fm, BALL::Element::F,
  BALL::Element::Fr, BALL::Element::Gd, BALL::Element::Ga, BALL::Element::Ge,
  BALL::Element::Au, BALL::Element::Hf, BALL::Element::Hn, BALL::Element::He,
  BALL::Element::Ho, BALL::Element::H, BALL::Element::In, BALL::Element::I,
  BALL::Element::Ir, BALL::Element::Fe, BALL::Element::Jl, BALL::Element::Kr,
  BALL::Element::La, BALL::Element::Lr, BALL::Element::Pb, BALL::Element::Li,
  BALL::Element::Lu, BALL::Element::Mg, BALL::Element::Mn, BALL::Element::Mt,
  BALL::Element::Md, BALL::Element::Hg, BALL::Element::Mo, BALL::Element::Nd,
  BALL::Element::Ne, BALL::Element::Np, BALL::Element::Ni, BALL::Element::Nb,
  BALL::Element::N, BALL::Element::No, BALL::Element::Os, BALL::Element::O,
  BALL::Element::Pd, BALL::Element::P, BALL::Element::Pt, BALL::Element::Pu,
  BALL::Element::Po, BALL::Element::K, BALL::Element::Pr, BALL::Element::Pm,
  BALL::Element::Pa, BALL::Element::Ra, BALL::Element::Rn, BALL::Element::Re,
  BALL::Element::Rh, BALL::Element::Rb, BALL::Element::Ru, BALL::Element::Rf,
  BALL::Element::Sm, BALL::Element::Sc, BALL::Element::Se, BALL::Element::Si,
  BALL::Element::Ag, BALL::Element::Na, BALL::Element::Sr, BALL::Element::S,
  BALL::Element::Ta, BALL::Element::Tc, BALL::Element::Te, BALL::Element::Tb,
  BALL::Element::Tl, BALL::Element::Th, BALL::Element::Tm, BALL::Element::Sn,
  BALL::Element::Ti, BALL::Element::W, BALL::Element::Uub, BALL::Element::Uun,
  BALL::Element::Uuu, BALL::Element::U, BALL::Element::V, BALL::Element::Xe,
  BALL::Element::Yb, BALL::Element::Y, BALL::Element::Zn, BALL::Element::Zr
}
 

Constructors and Destructors.

 BALL::Element::Element ()
 
 BALL::Element::Element (const Element &element)
 
 BALL::Element::Element (const String &name, const String &symbol, Group group, Period period, AtomicNumber atomic_umber, float atomic_weight, float atomic_radius, float covalent_radius, float van_der_waals_radius, bool is_metal, float electronegativity)
 
virtual BALL::Element::~Element ()
 
virtual void BALL::Element::clear ()
 

Assignment

Element & BALL::Element::operator= (const Element &element)
 

Inspectors and Mutators

void BALL::Element::setName (const String &name)
 
const String & BALL::Element::getName () const
 
void BALL::Element::setSymbol (const String &symbol)
 
const String & BALL::Element::getSymbol () const
 
void BALL::Element::setGroup (Group group)
 
Group BALL::Element::getGroup () const
 
void BALL::Element::setPeriod (Period period)
 
Period BALL::Element::getPeriod () const
 
void BALL::Element::setAtomicNumber (AtomicNumber atomic_number)
 
AtomicNumber BALL::Element::getAtomicNumber () const
 
void BALL::Element::setAtomicWeight (float atomic_weight)
 
float BALL::Element::getAtomicWeight () const
 
void BALL::Element::setAtomicRadius (float atomic_radius)
 
float BALL::Element::getAtomicRadius () const
 
void BALL::Element::setCovalentRadius (float covalent_radius)
 
float BALL::Element::getCovalentRadius () const
 
void BALL::Element::setVanDerWaalsRadius (float van_der_waals_radius)
 
float BALL::Element::getVanDerWaalsRadius () const
 
void BALL::Element::setElectronegativity (float electronegativity)
 
float BALL::Element::getElectronegativity () const
 

Operators

bool BALL::Element::operator== (const Element &element) const
 
bool BALL::Element::operator!= (const Element &element) const
 
bool BALL::Element::operator< (const Element &element) const
 
bool BALL::Element::operator<= (const Element &element) const
 
bool BALL::Element::operator>= (const Element &element) const
 
bool BALL::Element::operator> (const Element &element) const
 
BALL_EXPORT friend std::ostream & BALL::Element::operator<< (std::ostream &s, const Element &element)
 

Predicates

bool BALL::Element::isUnknown () const
 
bool BALL::Element::isMetal () const
 

Constructors and Destructors

 BALL::PTE_::PTE_ ()
 
 BALL::PTE_::PTE_ (const PTE_ &pse)
 
virtual BALL::PTE_::~PTE_ ()
 
virtual void BALL::PTE_::clear ()
 

Assignment

PTE_ & BALL::PTE_::operator= (const PTE_ &)
 

Accessors

static Element & BALL::PTE_::getElement (Position atomic_number)
 
static Element & BALL::PTE_::getElement (const String &symbol)
 

Operators

bool BALL::PTE_::operator== (const PTE_ &pte) const
 
Element & BALL::PTE_::operator[] (const String &symbol)
 
const Element & BALL::PTE_::operator[] (const String &symbol) const
 
Element & BALL::PTE_::operator[] (Element::Name name)
 
const Element & BALL::PTE_::operator[] (Element::Name name) const
 
Element & BALL::PTE_::operator[] (Element::Symbol symbol)
 
const Element & BALL::PTE_::operator[] (Element::Symbol symbol) const
 
Element & BALL::PTE_::operator[] (Position position)
 
const Element & BALL::PTE_::operator[] (Position position) const
 

Application methods

static bool BALL::PTE_::apply (UnaryProcessor< Element > &applicator)
 

Detailed Description

These classes represent elements and the periodic table of elements. The Element class is used to describe common properties of atoms (e.g., mass, nuclear charge, element symbol). Elements can be retrieved from the PTE object (Periodic Table of Elements) which is a global instance of PTE_ .

See also
Atom::setElement
Atom::getElement

Typedef Documentation

AtomicNumber

Definition at line 70 of file PTE.h.

typedef short BALL::Element::Group

Group

Definition at line 62 of file PTE.h.

typedef short BALL::Element::Period

Period

Definition at line 66 of file PTE.h.

Enumeration Type Documentation

Name Element names.

Enumerator
ACTINIUM 
ALUMINUM 
AMERICIUM 
ANTIMONY 
STIBIUM 
ARGON 
ARSENIC 
ASTATINE 
BARIUM 
BERKELIUM 
BERYLLIUM 
BISMUTH 
WISMUT 
BOHRIUM 
BORON 
BROMINE 
CADMIUM 
CAESIUM 
CALCIUM 
CALIFORNIUM 
CARBON 
CARBONEUM 
CERIUM 
CHLORINE 
CHROMIUM 
COBALT 
COPPER 
CUPRUM 
CURIUM 
DUBNIUM 
DYSPROSIUM 
EINSTEINIUM 
ERBIUM 
EUROPIUM 
FERMIUM 
FLUORINE 
FRANCIUM 
GADOLINIUM 
GALLIUM 
GERMANIUM 
GOLD 
AURUM 
HAFNIUM 
HAHNIUM 
HELIUM 
HOLMIUM 
HYDROGEN 
HYDROGENIUM 
INDIUM 
IODINE 
JOD 
IRIDIUM 
IRON 
FERRUM 
JOLIOTIUM 
KRYPTON 
LANTHANUM 
LAWRENCIUM 
LEAD 
PLUMBUM 
LITHIUM 
LUTETIUM 
MAGNESIUM 
MANGANESE 
MANGAN 
MEITNERIUM 
MENDELEVIUM 
MERCURY 
HYDRARGYRUM 
MERCURIUM 
MOLYBDENUM 
NEODYMIUM 
NEON 
NEPTUNIUM 
NICKEL 
NIOBIUM 
NITROGEN 
NITROGENIUM 
NOBELIUM 
OSMIUM 
OXYGEN 
OXYGENIUM 
PALLADIUM 
PHOSPHORUS 
PLATINUM 
PLUTONIUM 
POLONIUM 
POTASSIUM 
KALIUM 
PRASEODYMIUM 
PROMETHIUM 
PROTACTINIUM 
RADIUM 
RADON 
RHENIUM 
RHODIUM 
RUBIDIUM 
RUTHENIUM 
RUTHERFORDIUM 
SAMARIUM 
SCANDIUM 
SELENIUM 
SILICON 
SILICIUM 
SILVER 
ARGENTUM 
SODIUM 
NATRIUM 
STRONTIUM 
SULPHUR 
SULFUR 
TANTALUM 
TECHNETIUM 
TELLURIUM 
TERBIUM 
THALLIUM 
THORIUM 
THULIUM 
TIN 
STANNUM 
TITANIUM 
TUNGSTEN 
WOLFRAM 
UNUNBIUM 
UNUNNILIUM 
UNUNNINIUM 
URANIUM 
VANADIUM 
XENON 
YTTERBIUM 
YTTRIUM 
ZINC 
ZINCUM 
ZIRCONIUM 
NUMBER_OF_ELEMENTS 

Definition at line 75 of file PTE.h.

Enumerator
Ac 
Al 
Am 
Sb 
Ar 
As 
At 
Ba 
Bk 
Be 
Bi 
Bh 
Br 
Cd 
Cs 
Ca 
Cf 
Ce 
Cl 
Cr 
Co 
Cu 
Cm 
Db 
Dy 
Es 
Er 
Eu 
Fm 
Fr 
Gd 
Ga 
Ge 
Au 
Hf 
Hn 
He 
Ho 
In 
Ir 
Fe 
Jl 
Kr 
La 
Lr 
Pb 
Li 
Lu 
Mg 
Mn 
Mt 
Md 
Hg 
Mo 
Nd 
Ne 
Np 
Ni 
Nb 
No 
Os 
Pd 
Pt 
Pu 
Po 
Pr 
Pm 
Pa 
Ra 
Rn 
Re 
Rh 
Rb 
Ru 
Rf 
Sm 
Sc 
Se 
Si 
Ag 
Na 
Sr 
Ta 
Tc 
Te 
Tb 
Tl 
Th 
Tm 
Sn 
Ti 
Uub 
Uun 
Uuu 
Xe 
Yb 
Zn 
Zr 

Definition at line 196 of file PTE.h.

Function Documentation

BALL::Element::Element ( )

Default constructor The instance is set to the default values (= UNKNOWN element).

BALL::Element::Element ( const Element element)

Constructor

BALL::Element::Element ( const String name,
const String symbol,
Group  group,
Period  period,
AtomicNumber  atomic_umber,
float  atomic_weight,
float  atomic_radius,
float  covalent_radius,
float  van_der_waals_radius,
bool  is_metal,
float  electronegativity 
)

Detailed constructor

BALL::PTE_::PTE_ ( )

Default constructor

BALL::PTE_::PTE_ ( const PTE_ pse)

Default constructor

virtual BALL::Element::~Element ( )
virtual

Destructor

virtual BALL::PTE_::~PTE_ ( )
virtual

Destructor

static bool BALL::PTE_::apply ( UnaryProcessor< Element > &  applicator)
static

Application of an unary processor on every contained element.

Parameters
processora typed unary processor for Element instances
Returns
bool - true if application has been terminated successfully, false otherwise
virtual void BALL::Element::clear ( )
virtual

Clear method. The instance is set to the default values (= UNKNOWN element).

virtual void BALL::PTE_::clear ( )
virtual

Clear method.

AtomicNumber BALL::Element::getAtomicNumber ( ) const

Get the atomic number.

Returns
AtomicNumber (short) - the atomic number
float BALL::Element::getAtomicRadius ( ) const

Get the atomic radius.

Returns
float the atomic radius (in Angstrom)
float BALL::Element::getAtomicWeight ( ) const

Get the atomic weight.

Returns
float - the atomic weight
float BALL::Element::getCovalentRadius ( ) const

Get the covalent radius.

Returns
float the covalent radius (in Angstrom)
float BALL::Element::getElectronegativity ( ) const

Get the electronegativity.

Returns
float the electronegativity (according to the Pauling scale)
static Element& BALL::PTE_::getElement ( Position  atomic_number)
static

Return the element that has the specified atomic number.

static Element& BALL::PTE_::getElement ( const String symbol)
static

Return the element with a given symbol.

Returns
Element the static Element with the symbol symbol
Group BALL::Element::getGroup ( ) const

Get the atomic group.

Returns
Group (short) - the group
const String& BALL::Element::getName ( ) const

Get the name.

Returns
The name of the element. For example if the Element is a hydrogen the string "Hydrogen" is returned.
Period BALL::Element::getPeriod ( ) const

Get the atomic period.

Returns
Period (short) the period
const String& BALL::Element::getSymbol ( ) const

Get the atomic symbol.

Returns
String the symbol
float BALL::Element::getVanDerWaalsRadius ( ) const

Get the VanDerWaals radius.

Returns
float the VanDerWaals radius (in Angstrom)
bool BALL::Element::isMetal ( ) const

Test if the Element is a metal.

Returns
true if the Element represents a metal.
bool BALL::Element::isUnknown ( ) const

Test if this instance is unknown. Returns true if instance is equal the static Element UNKNOWN (The default constructor returns such an element).

Returns
bool
bool BALL::Element::operator!= ( const Element element) const

Inequality operator. Tests if the atomic number of two elements are inequal.

Parameters
elementthe Element to compare with
Returns
bool
bool BALL::Element::operator< ( const Element element) const

Less operator. Tests if the atomic number of this instance is less compared with element .

Parameters
elementthe Element to compare with
Returns
bool
BALL_EXPORT std::ostream& BALL::operator<< ( std::ostream &  s,
const Element &  element 
)

Element output operator. Prints the contents of an instance of Element to an ostream.

bool BALL::Element::operator<= ( const Element element) const

Less or equal operator. Tests if the atomic number of this instance is less or equal compared with element .

Parameters
element,theElement to compare with
Returns
bool
Element& BALL::Element::operator= ( const Element element)

Assignment operator.

Parameters
elementthe Element to be copied (cloned)
Returns
Element& - this instance
PTE_& BALL::PTE_::operator= ( const PTE_ )

Assignment operator Does not assign anything. Implemented just for the OCI.

bool BALL::Element::operator== ( const Element element) const

Equality operator. Tests if the atomic number of two elements are equal.

Parameters
elementthe Element to compare with
Returns
bool
bool BALL::PTE_::operator== ( const PTE_ pte) const

Equality operator. Always returns true. Implemented just for the OCI.

bool BALL::Element::operator> ( const Element element) const

Greater operator. Tests if the atomic number of this instance is greater than element .

Parameters
elementthe Element to compare with
Returns
bool
bool BALL::Element::operator>= ( const Element element) const

Greater or equal operator. Tests if the atomic number of this instance is greater or equal compared with element .

Parameters
elementthe Element to compare with
Returns
bool
Element& BALL::PTE_::operator[] ( const String symbol)

Access operator with a given symbol.

Returns
Element the Element with the symbol symbol
const Element& BALL::PTE_::operator[] ( const String symbol) const

Access operator with a given symbol.

Returns
Element the const Element with the symbol symbol
Element& BALL::PTE_::operator[] ( Element::Name  name)

Access operator with a given name.

Returns
Element the Element with the name name
const Element& BALL::PTE_::operator[] ( Element::Name  name) const

Access operator with a given name.

Returns
Element the const Element with the name name
Element& BALL::PTE_::operator[] ( Element::Symbol  symbol)

Access operator with a given Element::Symbol.

Returns
Element the Element with the symbol symbol
const Element& BALL::PTE_::operator[] ( Element::Symbol  symbol) const

Access operator with a given Element::Symbol.

Returns
Element the const Element with the symbol symbol
Element& BALL::PTE_::operator[] ( Position  position)

Access operator with a given position.

Returns
Element the Element with the position position
const Element& BALL::PTE_::operator[] ( Position  position) const

Access operator with a given position.

Returns
Element the const Element with the position position
void BALL::Element::setAtomicNumber ( AtomicNumber  atomic_number)

Set the atomic number.

Parameters
atomic_numberthe new atomic number
void BALL::Element::setAtomicRadius ( float  atomic_radius)

Set the atomic radius.

Parameters
atomic_radiusthe new atomic radius (in Angstrom)
void BALL::Element::setAtomicWeight ( float  atomic_weight)

Set the atomic weight.

Parameters
atomic_weightthe new atomic weight
void BALL::Element::setCovalentRadius ( float  covalent_radius)

Set the covalent radius.

Parameters
covalent_radiusthe new covalent radius (in Angstrom)
void BALL::Element::setElectronegativity ( float  electronegativity)

Set the electronegativity.

Parameters
electronegativitythe new electronegativity (according to the Pauling scale)
void BALL::Element::setGroup ( Group  group)

Set the atomic group.

Parameters
group(short) the new group
void BALL::Element::setName ( const String name)

Set the name.

Parameters
namethe new name
void BALL::Element::setPeriod ( Period  period)

Set the atomic period.

Parameters
period(short) the new period
void BALL::Element::setSymbol ( const String symbol)

Set the atomic symbol.

Parameters
symbolthe new symbol
void BALL::Element::setVanDerWaalsRadius ( float  van_der_waals_radius)

Set the VanDerWaals radius.

Parameters
van_der_waals_radiusthe new VanDerWaals radius (in Angstrom)

Variable Documentation

Element* BALL::PTE_::SymbolToElement::element

Definition at line 774 of file PTE.h.

const char* BALL::PTE_::SymbolToElement::symbol

Definition at line 771 of file PTE.h.

Element BALL::Element::UNKNOWN
static

Standard element. (The default constructor returns such an element).

Definition at line 550 of file PTE.h.

Friends

BALL_EXPORT friend std::ostream& operator<< ( std::ostream &  s,
const Element element 
)
friend

Output operator Prints this instance of Element.

Element output operator. Prints the contents of an instance of Element to an ostream.