25 #include "coordinate.h"    26 #include "coreexport.h"    52         IsotopeData(
double mass, 
double abundance, 
int mult, 
double lambda, 
double q) : _mass(mass), _abundance(abundance), _mult(mult), _lambda(lambda), _q(q) {}
    53         double Mass()
 const { 
return _mass; }
    54         double Abundance()
 const { 
return _abundance; }
    55         int Multiplicity()
 const { 
return _mult; }
    56         double MagnetoGyricRatio()
 const { 
return _lambda; }
    57         double Quadrupole()
 const { 
return _q; }
    83               rgb ( 
int lr, 
int lg, 
int lb ) : r ( lr ) , g ( lg ) ,b ( lb ) {}
    95           AtomData ( 
int z, 
double m, 
double w, 
double r, 
double el, 
rgb c,
const std::map<const int,const IsotopeData>* idata=NULL ) :
    96               _Z ( z ), _mass ( m ), _vdw ( w ), _cr ( r ), _Pel ( el ), _color ( c ) , _idata(idata)     {}
   111           const std::map<const int, const IsotopeData>* 
_idata;
   123       Atom ( 
const std::string& symbol ) { SetSymbol ( symbol ); m_residue=NULL; }
   128       Atom ( 
int z ) { SetZ ( z ); m_residue=NULL; }
   132       void Color ( 
float* r, 
float* g, 
float* b ) 
const;
   134       int Z()
 const { 
return m_data->second._Z; }
   136       double VdW()
 const { 
return m_data->second._vdw; }
   142       const std::string& 
Symbol()
 const { 
return m_data->first; }
   144       void SetSymbol ( 
const std::string& symbol );
   156       const std::string& 
PDBName()
 const { 
return m_pdbname; } 
   158       const std::pair<const int,const IsotopeData>* NMRIsotope() 
const;
   160       void SetCurrentNMRIsotope(
int m);
   162       const std::map<const int,const IsotopeData>& 
NMRIsotopes()
 const { 
return *m_data->second._idata; }
   164       size_t MMType()
 const { 
return m_mmtype; }
   168       double GetAtomicMass() 
const;
   169       const std::pair<const std::string,const AtomData>* m_data;
   170       const std::pair<const int,const IsotopeData>* m_isotope;
   172       std::string m_pdbname;
   177   MAGNES_CORE_API 
typedef std::map<const std::string, const magnes::Atom::AtomData> PeriodicTable;
   182   MAGNES_CORE_API 
void BuildPeriodicTable();
   185   MAGNES_CORE_API 
int ZFromSymbol(
const std::string& symbol);
   191    MAGNES_CORE_API 
const std::pair<const int,const Atom::IsotopeData>* 
DefaultNMRProperties(
const std::string& symbol);
   194 #endif // MAGNES_ATOM_H double _cr
Definition: atom.h:105
 
AtomData(int z, double m, double w, double r, double el, rgb c, const std::map< const int, const IsotopeData > *idata=NULL)
Definition: atom.h:95
 
IsotopeData(double mass, double abundance, int mult, double lambda, double q)
Definition: atom.h:52
 
double PaulingElectronegativity() const
Definition: atom.h:140
 
size_t MMType() const
Definition: atom.h:164
 
rgb _color
Definition: atom.h:109
 
basic atomic data (Z, mass, electronegativity...) 
Definition: atom.h:75
 
the global magnes namespace 
Definition: ccchequation.h:38
 
MAGNES_CORE_API const PeriodicTable & GetPeriodicTable()
 
const PDBResidue * Residue() const
Definition: atom.h:152
 
const std::map< const int, const IsotopeData > & NMRIsotopes() const
Definition: atom.h:162
 
MAGNES_CORE_API int ZFromSymbol(const std::string &symbol)
 
hybridization
Definition: atom.h:115
 
representation of an atom 
Definition: atom.h:39
 
double _mass
Definition: atom.h:101
 
const std::map< const int, const IsotopeData > * _idata
Definition: atom.h:111
 
PDBResidue * Residue()
Definition: atom.h:150
 
double AtomicMass() const
Definition: atom.h:130
 
Atom(int z)
Definition: atom.h:128
 
double VdW() const
Definition: atom.h:136
 
void SetPDBName(const std::string &name)
Definition: atom.h:154
 
Definition: pdbtools.h:26
 
Atom(const std::string &symbol)
Definition: atom.h:123
 
void SetPDBResidue(PDBResidue *r)
Definition: atom.h:148
 
double _vdw
Definition: atom.h:103
 
MAGNES_CORE_API std::string SymbolFromZ(int z)
 
double _Pel
Definition: atom.h:107
 
const std::string & PDBName() const
Definition: atom.h:156
 
int Z() const
Definition: atom.h:134
 
double CovalentRadius() const
Definition: atom.h:138
 
void SetMMType(size_t mmtype)
Definition: atom.h:166
 
const std::string & Symbol() const
Definition: atom.h:142
 
MAGNES_CORE_API const std::pair< const int, const Atom::IsotopeData > * DefaultNMRProperties(const std::string &symbol)
 
int _Z
Definition: atom.h:99