orbital/orbital.h
00001 #ifndef ORBITAL_H
00002 #define ORBITAL_H
00003 
00004 #include "../hermite.h"
00005 #include "../config.h"
00006 
00007 #include <armadillo>
00008 
00009 using namespace arma;
00010 
00014 class Orbital
00015 {
00016 public:
00017     Orbital(double nx, double ny, Config *config);
00018 
00019     double evaluate(const vec2 &r) const;
00020     void setParameters(double* parameters);
00021     void gradient(const vec2 &r, vec2 &rGradient) const;
00022     double laplace(const vec2 &r);
00023     double nx() { return m_nx; }
00024     double ny() { return m_ny; }
00025 private:
00026     // the quantum numbers, one for each dimension in this problem
00027     double m_nx;
00028     double m_ny;
00029 
00030     Config *config;
00031     double omega;
00032     double alphaOmega;
00033     double sqrtAlphaOmega;
00034     double alphaOmegaalphaOmega;
00035     double sqrtOmegaOverAlpha;
00036 
00037     double alpha;
00038     double beta;
00039 };
00040 
00041 #endif // ORBITAL_H
 All Classes Functions