00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __RD_ATOMIC_DATA_H
00015 #define __RD_ATOMIC_DATA_H
00016
00017 #include <RDGeneral/types.h>
00018
00019 namespace RDKit {
00020 extern const std::string periodicTableAtomData;
00021
00022 class atomicData {
00023 public :
00024 atomicData(const std::string &dataLine);
00025 ~atomicData() {};
00026
00027 int AtomicNum() const { return anum;};
00028
00029 int DefaultValence() const { return valence.front();};
00030
00031 int NumValence() const { return static_cast<int>(valence.size());};
00032
00033 const INT_VECT &ValenceList() const {
00034 return valence;
00035 };
00036
00037 double Mass() const { return mass;};
00038
00039 std::string Symbol() const {
00040 return symb;
00041 }
00042
00043 double Rcov() const { return rCov; }
00044
00045 double Rb0() const {return rB0;}
00046
00047 double Rvdw() const { return rVdw;}
00048
00049 int NumOuterShellElec() const { return nVal;}
00050
00051 private:
00052 int anum;
00053 std::string symb;
00054 double rCov, rB0, rVdw;
00055 INT_VECT valence;
00056 double mass;
00057 int nVal;
00058 };
00059
00060 };
00061 #endif