RDKit
Open-source cheminformatics and machine learning.
atomic_data.h
Go to the documentation of this file.
1//
2// Copyright (C) 2001-2008 Greg Landrum and Rational Discovery LLC
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10
11/*! \file atomic_data.h
12
13 \brief No user-serviceable parts inside
14
15 This stuff is used by the PeriodicTable interface
16
17*/
18#include <RDGeneral/export.h>
19#ifndef __RD_ATOMIC_DATA_H
20#define __RD_ATOMIC_DATA_H
21
22#include <RDGeneral/types.h>
23#include <map>
24
25namespace RDKit {
26RDKIT_GRAPHMOL_EXPORT extern const std::string periodicTableAtomData;
27RDKIT_GRAPHMOL_EXPORT extern const std::string isotopesAtomData[];
28namespace constants {
29RDKIT_GRAPHMOL_EXPORT extern const double electronMass;
30}
32 public:
33 atomicData(const std::string &dataLine);
34 ~atomicData() = default;
35
36 int AtomicNum() const { return anum; }
37
38 int DefaultValence() const { return valence.front(); }
39
40 int NumValence() const { return static_cast<int>(valence.size()); }
41
42 const INT_VECT &ValenceList() const { return valence; }
43
44 double Mass() const { return mass; }
45
46 std::string Symbol() const { return symb; }
47
48 double Rcov() const { return rCov; }
49
50 double Rb0() const { return rB0; }
51
52 double Rvdw() const { return rVdw; }
53
54 int NumOuterShellElec() const { return nVal; }
55
56 int MostCommonIsotope() const { return commonIsotope; }
57
58 double MostCommonIsotopeMass() const { return commonIsotopeMass; }
59
60 // maps isotope number -> mass
61 std::map<unsigned int, std::pair<double, double>>
62 d_isotopeInfoMap; // available isotopes
63 private:
64 int anum; // atomic number
65 std::string symb; // atomic symbol
66 double rCov, rB0, rVdw; // radii
67 INT_VECT valence; // list of all valences, the first one is the default
68 // valence, -1 at the end signifies that any upper valence
69 // is tolerated
70 double mass; // atomic mass
71 int nVal; // number of outer shell electrons
72 int commonIsotope; // most common isotope
73 double commonIsotopeMass; // most common isotope
74};
75}; // namespace RDKit
76#endif
std::string Symbol() const
Definition: atomic_data.h:46
int AtomicNum() const
Definition: atomic_data.h:36
int NumOuterShellElec() const
Definition: atomic_data.h:54
double Rcov() const
Definition: atomic_data.h:48
std::map< unsigned int, std::pair< double, double > > d_isotopeInfoMap
Definition: atomic_data.h:62
double Rb0() const
Definition: atomic_data.h:50
const INT_VECT & ValenceList() const
Definition: atomic_data.h:42
atomicData(const std::string &dataLine)
int MostCommonIsotope() const
Definition: atomic_data.h:56
int NumValence() const
Definition: atomic_data.h:40
int DefaultValence() const
Definition: atomic_data.h:38
~atomicData()=default
double Mass() const
Definition: atomic_data.h:44
double MostCommonIsotopeMass() const
Definition: atomic_data.h:58
double Rvdw() const
Definition: atomic_data.h:52
#define RDKIT_GRAPHMOL_EXPORT
Definition: export.h:217
RDKIT_GRAPHMOL_EXPORT const double electronMass
Std stuff.
Definition: Abbreviations.h:18
std::vector< int > INT_VECT
Definition: types.h:277
RDKIT_GRAPHMOL_EXPORT const std::string isotopesAtomData[]
RDKIT_GRAPHMOL_EXPORT const std::string periodicTableAtomData