Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
gaussiancontractedorbital.h
Go to the documentation of this file.
1 #ifndef GAUSSIANCONTRACTEDORBITAL_H
2 #define GAUSSIANCONTRACTEDORBITAL_H
3 
4 #include "math/vector3.h"
6 
7 #include <vector>
8 #include <armadillo>
9 
10 using namespace std;
11 using namespace arma;
12 
14 {
15 public:
17  GaussianContractedOrbital(const Vector3 &corePosition);
18 
19  void addPrimitiveBasisFunction(const GaussianPrimitiveOrbital& primitive);
20  const GaussianPrimitiveOrbital& primitiveBasisFunction(int index);
21 
22  Vector3 corePosition() const;
23  void setCorePosition(const Vector3 &corePosition);
24 
25  const vector<GaussianPrimitiveOrbital>& primitiveBasisFunctions() const;
26  void setPrimitiveBasisFunctions(const vector<GaussianPrimitiveOrbital> &primitiveBasisFunctions);
27 
28  double evaluated(const Vector3 &position) const;
29 
30 private:
31  Vector3 m_corePosition;
32  vector<GaussianPrimitiveOrbital> m_primitiveBasisFunctions;
33 };
34 
35 #endif // GAUSSIANCONTRACTEDORBITAL_H