12 #ifndef INCLUDE_MOLASSEMBLER_ATOM_INFO_H
13 #define INCLUDE_MOLASSEMBLER_ATOM_INFO_H
15 #include "boost/optional/optional_fwd.hpp"
23 namespace Molassembler {
36 unsigned sValenceElectrons = 0,
37 unsigned pValenceElectrons = 0,
38 unsigned dValenceElectrons = 0,
39 unsigned fValenceElectrons = 0
43 static unsigned maxOccupancy(
char shell);
49 bool shellFullOrEmpty(
char shell)
const;
50 bool shellsFullOrEmpty(
const std::vector<char>& shells)
const;
55 double vdwRadius()
const;
58 std::array<unsigned, 4> valenceElectrons_;
69 const std::array<double, 110>&
bondRadii();
71 double bondRadius(Utils::ElementType elementType);
86 bool isMainGroupElement(Utils::ElementType elementType);
92 boost::optional<unsigned>
mainGroupVE(Utils::ElementType elementType);
94 unsigned dElectronCount(Utils::ElementType elementType);
97 double vdwRadius(Utils::ElementType elementType);
double vdwRadius(Utils::ElementType elementType)
Accessor function to fetch the vdw radius directly from elementData.
boost::optional< unsigned > mainGroupVE(Utils::ElementType elementType)
Stores information about an element.
Definition: AtomInfo.h:31
unsigned valenceElectrons() const
Returns the total valence electrons.
const std::array< ElementInfo, 110 > & elementData()
const std::array< double, 110 > & bondRadii()