atomic_data.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (C) 2001-2008 Greg Landrum and Rational Discovery LLC
00003 //
00004 //   @@ All Rights Reserved  @@
00005 //
00006 
00007 /*! \file atomic_data.h
00008 
00009   \brief No user-serviceable parts inside
00010 
00011   This stuff is used by the PeriodicTable interface
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; //atomic number
00053     std::string symb; // atomic symbol
00054     double rCov, rB0, rVdw; //radii
00055     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
00056     double mass;  // atomic mass
00057     int nVal; // number of outer shell electrons
00058   };
00059   
00060 };
00061 #endif

Generated on Sat May 24 08:36:32 2008 for RDCode by  doxygen 1.5.3