Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
electronsystem.h
Go to the documentation of this file.
1 #ifndef ELECTRONSYSTEM_H
2 #define ELECTRONSYSTEM_H
3 
4 #include <sys/types.h>
5 #include <stdexcept>
6 #include <iostream>
7 
9 {
10 public:
12 
13  virtual double coupledIntegral(int p, int r, int q, int s) = 0;
14  virtual double uncoupledIntegral(int p, int q) = 0;
15  virtual double overlapIntegral(int p, int q) = 0;
16 
17  virtual uint nBasisFunctions() = 0;
18  virtual uint nParticles() = 0;
19  virtual uint nParticlesUp();
20  virtual uint nParticlesDown();
21 
22  virtual double additionalEnergyTerms() = 0;
23 
24  void setNParticlesDown(uint nParticlesDown);
25 
26 private:
27  bool m_nParticlesDownSet;
28  uint m_nParticlesDown;
29 };
30 
31 #endif // ELECTRONSYSTEM_H