20#ifndef VGM_I_ELEMENT_H
21#define VGM_I_ELEMENT_H
41 virtual std::string
Name()
const = 0;
44 virtual std::string
Symbol()
const = 0;
47 virtual double Z()
const = 0;
50 virtual double N()
const = 0;
54 virtual double A()
const = 0;
std::ostream & operator<<(std::ostream &out, const VGM::IElement &element)
The VGM interface to elements.
virtual IIsotope * Isotope(int i) const =0
Return the i-th isotope constituing this element.
virtual int NofIsotopes() const =0
Return the number of isotopes constituing this element.
virtual double Z() const =0
Return the effective atomic number.
virtual double RelAbundance(int i) const =0
Return the relative abundance (the fraction of nb of atomes per volume) of the i-th isotope constitui...
virtual std::string Name() const =0
Return the name of this element.
virtual std::string Symbol() const =0
Return the symbol of this element.
virtual double A() const =0
Return the effective effective mass of a mole in g/mole.
virtual double N() const =0
Return the effective number of nucleons.
The VGM interface to elements.
std::vector< double > RelAbundanceVector
std::vector< IIsotope * > IsotopeVector