DOCI-Exact  1.0
SymMolecule.h
Go to the documentation of this file.
1 #ifndef SYM_MOLECULE_H
2 #define SYM_MOLECULE_H
3 
4 #include <iostream>
5 #include "Molecule.h"
6 
7 // not part of our namespace
8 namespace CheMPS2 { class Hamiltonian; }
9 
10 namespace doci {
11 
19 class Sym_Molecule: public Molecule
20 {
21  public:
22  Sym_Molecule(std::string filename);
23 
24  Sym_Molecule(const Sym_Molecule &);
25 
26  virtual ~Sym_Molecule();
27 
28  Sym_Molecule* clone() const;
29 
30  Sym_Molecule* move();
31 
32  double getT(int, int) const;
33 
34  double getV(int, int, int, int) const;
35 
36  double HF_Energy() const;
37 
38  double get_nucl_rep() const;
39 
40  unsigned int get_n_sp() const;
41 
42  unsigned int get_n_electrons() const;
43 
45 
47 
48  private:
49 
50  std::unique_ptr<CheMPS2::Hamiltonian> ham;
51 };
52 
53 }
54 
55 #endif /* SYM)MOLECULE_H */
56 
57 /* vim: set ts=3 sw=3 expandtab :*/
Sym_Molecule(std::string filename)
Definition: SymMolecule.cpp:8
unsigned int get_n_sp() const
Definition: SymMolecule.cpp:53
virtual ~Sym_Molecule()
unsigned int get_n_electrons() const
Definition: SymMolecule.cpp:58
Sym_Molecule * clone() const
Definition: SymMolecule.cpp:22
Sym_Molecule * move()
Definition: SymMolecule.cpp:27
double getV(int, int, int, int) const
Definition: SymMolecule.cpp:37
double getT(int, int) const
Definition: SymMolecule.cpp:32
double HF_Energy() const
Definition: SymMolecule.cpp:42
double get_nucl_rep() const
Definition: SymMolecule.cpp:48
CheMPS2::Hamiltonian & getHamObject() const
Definition: SymMolecule.cpp:67