00001 00010 #ifndef HAATBASDB_H 00011 #define HAATBASDB_H 00012 00013 #include "hastl.h" 00014 #include "haatombasis.h" 00015 00016 00017 class HaAtomBasisRef 00019 { 00020 public: 00021 HaAtomBasisRef(); 00022 HaAtomBasisRef(const HaString & bsid, const HaString & atom_smb); 00023 virtual ~HaAtomBasisRef(); 00024 00025 friend class HaAtomBasisDB; 00026 00027 bool operator == (const HaAtomBasisRef & rhs) const; 00028 bool operator < (const HaAtomBasisRef & rhs) const; 00029 00030 protected: 00031 HaString BasName; // Name of the basis set 00032 HaString AtomSymbol; // Atom symbol 00033 }; 00034 00035 00036 class HaAtBasDB 00038 { 00039 public: 00040 HaAtBasDB(void); 00041 virtual ~HaAtBasDB(void); 00042 00043 bool Init(); 00044 bool AddAtomBasis(const HaAtomBasis& atbas); 00045 HaAtomBasis* Extract(const HaString & BName, 00046 const HaString & Atomlbl); 00047 00048 // Axxiliary functions: 00049 bool Init321G(); 00050 bool Init321PPG(); 00051 00052 bool InitHay1_dz(); 00053 00054 bool InitHay1_dzPP(); 00055 00056 00057 bool SetFromDaltonFile(const HaString BName, const HaString & Atomlbl); 00058 00059 00060 protected: 00061 map<HaAtomBasisRef,HaAtomBasis, less<HaAtomBasisRef> > bas_map; 00062 }; 00063 00064 00065 00066 #endif /* !HAATBASDB_H */
1.3.6