12 #ifndef INCLUDE_MOLASSEMBLER_ATOM_INFO_H
13 #define INCLUDE_MOLASSEMBLER_ATOM_INFO_H
15 #include "boost/optional/optional_fwd.hpp"
24 namespace Molassembler {
37 unsigned sValenceElectrons = 0,
38 unsigned pValenceElectrons = 0,
39 unsigned dValenceElectrons = 0,
40 unsigned fValenceElectrons = 0
44 static unsigned maxOccupancy(
char shell);
50 bool shellFullOrEmpty(
char shell)
const;
51 bool shellsFullOrEmpty(
const std::vector<char>& shells)
const;
56 double vdwRadius()
const;
59 std::array<unsigned, 4> valenceElectrons_;
70 extern const std::array<double, 110>
bondRadii;
72 double bondRadius(Utils::ElementType elementType);
87 bool isMainGroupElement(Utils::ElementType elementType);
93 boost::optional<unsigned>
mainGroupVE(Utils::ElementType elementType);
95 unsigned dElectronCount(Utils::ElementType elementType);
98 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:32
unsigned valenceElectrons() const
Returns the total valence electrons.
const std::array< double, 110 > bondRadii
std::array< ElementInfo, 110 > elementData