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 #ifndef __RD_ATOMIC_DATA_H
19 #define __RD_ATOMIC_DATA_H
20 
21 #include <RDGeneral/types.h>
22 #include <map>
23 
24 namespace RDKit {
25  extern const std::string periodicTableAtomData;
26  extern const std::string isotopesAtomData[];
27 
28  class atomicData {
29  public :
30  atomicData(const std::string &dataLine);
32 
33  int AtomicNum() const { return anum;};
34 
35  int DefaultValence() const { return valence.front();};
36 
37  int NumValence() const { return static_cast<int>(valence.size());};
38 
39  const INT_VECT &ValenceList() const {
40  return valence;
41  };
42 
43  double Mass() const { return mass;};
44 
45  std::string Symbol() const {
46  return symb;
47  }
48 
49  double Rcov() const { return rCov; }
50 
51  double Rb0() const {return rB0;}
52 
53  double Rvdw() const { return rVdw;}
54 
55  int NumOuterShellElec() const { return nVal;}
56 
57  int MostCommonIsotope() const {return commonIsotope;}
58 
59  double MostCommonIsotopeMass() const { return commonIsotopeMass;}
60 
61  // maps isotope number -> mass
62  std::map<unsigned int,std::pair<double,double> > 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 valence, -1 at the end signifies that any upper valence is tolerated
68  double mass; // atomic mass
69  int nVal; // number of outer shell electrons
70  int commonIsotope; // most comon isotope
71  double commonIsotopeMass; // most comon isotope
72  };
73 
74 };
75 #endif
int AtomicNum() const
Definition: atomic_data.h:33
int MostCommonIsotope() const
Definition: atomic_data.h:57
const std::string periodicTableAtomData
int NumOuterShellElec() const
Definition: atomic_data.h:55
double Rb0() const
Definition: atomic_data.h:51
std::vector< int > INT_VECT
Definition: types.h:146
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:28
atomicData(const std::string &dataLine)
double Rvdw() const
Definition: atomic_data.h:53
std::string Symbol() const
Definition: atomic_data.h:45
double Rcov() const
Definition: atomic_data.h:49
int NumValence() const
Definition: atomic_data.h:37
double Mass() const
Definition: atomic_data.h:43
double MostCommonIsotopeMass() const
Definition: atomic_data.h:59
int DefaultValence() const
Definition: atomic_data.h:35
std::map< unsigned int, std::pair< double, double > > d_isotopeInfoMap
Definition: atomic_data.h:62
const INT_VECT & ValenceList() const
Definition: atomic_data.h:39
const std::string isotopesAtomData[]