Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
turbomoleparser.h
Go to the documentation of this file.
1 #ifndef TURBOMOLEPARSER_H
2 #define TURBOMOLEPARSER_H
3 
6 #include <hf.h>
7 
8 #include <string>
9 #include <unordered_map>
10 #include <vector>
11 
12 using namespace std;
13 
15 {
16 public:
18 
19  bool load(string fileName);
20 
21  const vector<GaussianContractedOrbital> &contractedBasisFunctions() const;
22 
23  HF::AtomType atomType() const;
24 
25  double normalizationFactor(double exp, urowvec pows);
26  int factorial(int n);
27 private:
28  vector<GaussianContractedOrbital> m_contractedBasisFunctions;
29  HF::AtomOrbitalType m_currentOrbitalType = HF::sOrbitalType;
30  vector<GaussianPrimitiveOrbital> m_collectedPrimitiveBasisFunctions;
31  void mergePrimitivesIntoContracted();
32  HF::AtomType m_atomType;
33 };
34 
35 #endif // TURBOMOLEPARSER_H