Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
gaussiancore.h
Go to the documentation of this file.
1 #ifndef GAUSSIANCORE_H
2 #define GAUSSIANCORE_H
3 
4 #include <armadillo>
5 #include <string>
6 #include <hf.h>
8 
9 class Vector3;
10 
11 using namespace arma;
12 using namespace std;
13 
15 {
16 public:
17  GaussianCore(Vector3 position = Vector3::createZeros(), string fileName = "");
18  GaussianCore(Vector3 position, int atomNumber, string basisName);
19  GaussianCore(Vector3 position, string atomAbbreviation, string basisName);
20 
21  void load(string fileName);
22 
23  const Vector3 &position() const;
24  void setPosition(const Vector3 &position);
25 
26  const vector<GaussianContractedOrbital> &contractedOrbitals() const;
27  void setContractedOrbitals(const vector<GaussianContractedOrbital> &contractedOrbitals);
28 
29  int nElectrons() const;
30  void setNElectrons(int nElectrons);
31 
32  HF::AtomType atomType() const;
33  void setAtomType(const HF::AtomType &atomType);
34 
35  int charge() const;
36  void setCharge(int charge);
37 
38 private:
39  Vector3 m_position;
40  int m_charge;
41  int m_nElectrons;
42  HF::AtomType m_atomType;
43  vector<GaussianContractedOrbital> m_contractedOrbitals;
44 };
45 
46 #endif // GAUSSIANCORE_H