RDKit: atomic_data.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
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 {
26 RDKIT_GRAPHMOL_EXPORT extern const std::string periodicTableAtomData;
27 RDKIT_GRAPHMOL_EXPORT extern const std::string isotopesAtomData[];
28 RDKIT_GRAPHMOL_EXPORT extern const std::vector<std::string> elementNames;
29 namespace constants {
30 RDKIT_GRAPHMOL_EXPORT extern const double electronMass;
31}
32 class RDKIT_GRAPHMOL_EXPORT atomicData {
33 public:
34 atomicData(const std::string &dataLine);
35 ~atomicData() = default;
36
37 int AtomicNum() const { return anum; }
38
39 int DefaultValence() const { return valence.front(); }
40
41 int NumValence() const { return static_cast<int>(valence.size()); }
42
43 const INT_VECT &ValenceList() const { return valence; }
44
45 double Mass() const { return mass; }
46
47 std::string Symbol() const { return symb; }
48
49 std::string Name() const { return name; }
50
51 double Rcov() const { return rCov; }
52
53 double Rb0() const { return rB0; }
54
55 double Rvdw() const { return rVdw; }
56
57 int NumOuterShellElec() const { return nVal; }
58
59 int MostCommonIsotope() const { return commonIsotope; }
60
61 double MostCommonIsotopeMass() const { return commonIsotopeMass; }
62
63 unsigned int Row() const { return row; }
64 // maps isotope number -> mass
65 std::map<unsigned int, std::pair<double, double>>
66 d_isotopeInfoMap; // available isotopes
67 private:
68 int anum; // atomic number
69 std::string symb; // atomic symbol
70 std::string name; // atomic name
71 double rCov, rB0, rVdw; // radii
72 INT_VECT valence; // list of all valences, the first one is the default
73 // valence, -1 at the end signifies that any upper valence
74 // is tolerated
75 double mass; // atomic mass
76 int nVal; // number of outer shell electrons
77 int commonIsotope; // most common isotope
78 double commonIsotopeMass; // most common isotopic mass
79 unsigned int row; // row in the periodic table
80};
81}; // namespace RDKit
82#endif
RDKit::atomicData::Symbol
std::string Symbol() const
Definition atomic_data.h:47
RDKit::atomicData::AtomicNum
int AtomicNum() const
Definition atomic_data.h:37
RDKit::atomicData::NumOuterShellElec
int NumOuterShellElec() const
Definition atomic_data.h:57
RDKit::atomicData::Rcov
double Rcov() const
Definition atomic_data.h:51
RDKit::atomicData::Name
std::string Name() const
Definition atomic_data.h:49
RDKit::atomicData::d_isotopeInfoMap
std::map< unsigned int, std::pair< double, double > > d_isotopeInfoMap
Definition atomic_data.h:66
RDKit::atomicData::Rb0
double Rb0() const
Definition atomic_data.h:53
RDKit::atomicData::ValenceList
const INT_VECT & ValenceList() const
Definition atomic_data.h:43
RDKit::atomicData::atomicData
atomicData(const std::string &dataLine)
RDKit::atomicData::MostCommonIsotope
int MostCommonIsotope() const
Definition atomic_data.h:59
RDKit::atomicData::NumValence
int NumValence() const
Definition atomic_data.h:41
RDKit::atomicData::DefaultValence
int DefaultValence() const
Definition atomic_data.h:39
RDKit::atomicData::~atomicData
~atomicData()=default
RDKit::atomicData::Mass
double Mass() const
Definition atomic_data.h:45
RDKit::atomicData::MostCommonIsotopeMass
double MostCommonIsotopeMass() const
Definition atomic_data.h:61
RDKit::atomicData::Row
unsigned int Row() const
Definition atomic_data.h:63
RDKit::atomicData::Rvdw
double Rvdw() const
Definition atomic_data.h:55
export.h
RDKIT_GRAPHMOL_EXPORT
#define RDKIT_GRAPHMOL_EXPORT
Definition export.h:249
RDKit::constants
Definition atomic_data.h:29
RDKit::constants::electronMass
RDKIT_GRAPHMOL_EXPORT const double electronMass
RDKit
Std stuff.
Definition Abbreviations.h:19
RDKit::INT_VECT
std::vector< int > INT_VECT
Definition types.h:303
RDKit::isotopesAtomData
RDKIT_GRAPHMOL_EXPORT const std::string isotopesAtomData[]
RDKit::elementNames
RDKIT_GRAPHMOL_EXPORT const std::vector< std::string > elementNames
RDKit::periodicTableAtomData
RDKIT_GRAPHMOL_EXPORT const std::string periodicTableAtomData
types.h