MSpin-JCoupling  2.1
hcchequation.h
1 /***************************************************************************
2  hcchequation.h - description
3  -------------------
4  author : Armando Navarro-Vazquez
5  email : armando.deus@gmail.com
6  ***************************************************************************/
7 
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 #ifndef HCCHEQUATION_H
17 #define HCCHEQUATION_H
18 
19 #include "jequation.h"
20 
21 #ifdef WIN32
22 #include <windows.h>
23 #ifdef HCCHEQUATIONDLL
24 #define HCCHEQUATION_API __declspec(dllexport)
25 #else
26 #define HCCHEQUATION_API __declspec(dllimport)
27 #endif
28 #else
29 #define HCCHEQUATION_API
30 #endif
31 
34 namespace magnes
35 {
53 class HCCHEQUATION_API HCCHEquation : public JEquation
54 {
55 public:
56  HCCHEquation();
57  ~HCCHEquation();
58 protected:
59  virtual bool SelectFirstAtom(const magnes::Molecule* molecule, size_t i);
60  virtual bool SelectSecondAtom(const magnes::Molecule* molecule, size_t i);
62  virtual int NBonds() const;
63  virtual std::pair < std::string , std::string > CoupledNuclei() const;
65  float HugginsElectronegativity(const magnes::Atom& atom);
66 private:
67  bool IsCSP3H(const magnes::Molecule* molecule, size_t i,size_t& c);
68 
69 };
70 }
71 #endif
the global magnes namespace
Definition: ccchequation.h:38
The base class for the computation of scalar coupling constants.
Definition: jequation.h:53
An specialized class for implementation of 3JHCCH karplus-like equations HCCHEquation implements conv...
Definition: hcchequation.h:53
representation of an atom
Definition: atom.h:39
Definition: molecule.h:44