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