Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

haatomorbdb.h

00001 // HARLEM
00002 // Igor Kurnikov
00003 // University of Pittsburgh
00004 //
00005 // haatomorbdb.h: interface for the HaAtomOrbDB class.
00006 // 
00007 // Class to store standard Atomic Orbitals
00008 // Revisions: January 1998
00010 
00011 #if !defined(HAATOMORBDB_H)
00012 #define HAATOMORBDB_H
00013 
00014 #include "haatomorb.h"
00015 
00016 class HaAtomOrbRef
00017 // Class to define Atom Orbital Reference to extract Atomic Orbital 
00018 // from the database:
00019 {
00020 public:
00021         HaAtomOrbRef();
00022     HaAtomOrbRef(const HaString & sid, const HaString & bsid, const HaString & asmb);
00023         virtual ~HaAtomOrbRef();
00024 
00025 friend class HaAtomOrbDB;
00026  
00027 bool operator == (const HaAtomOrbRef & rhs) const;
00028 bool operator <  (const HaAtomOrbRef & rhs) const;
00029  
00030 protected:
00031         HaString setid;      // Identification string of the set
00032         HaString BasName;    // Name of the basis set
00033         HaString AtomSymbol; // Atom symbol
00034 };
00035 
00036 
00037 class HaAtomOrbDB  
00038 {
00039 public:
00040         HaAtomOrbDB();
00041         virtual ~HaAtomOrbDB();
00042 
00043         bool Init();
00044 // Database function Extract and Store:
00045 
00046         list<HaAtomOrb> Extract(const HaString & setid, 
00047                  const HaString & AtBas, const HaString & AtomSymbol) const;
00048         bool Store(const HaString setid, const HaString AtBas, const HaString AtomSymbol,
00049                 HaAtomOrb & ao);
00050         bool Store(const HaAtomOrbRef & ref, const HaAtomOrb & ao);
00051 
00052 
00053 protected:
00054         multimap<HaAtomOrbRef,HaAtomOrb, less<HaAtomOrbRef> > dat; // Atomic Orbital symbol
00055 
00056         bool Init321G_HFAO();
00057         bool Init321PPG_HFAO();
00058         bool Init321G_M1_HFAO();
00059         bool InitHay1_DZ_HFAO();
00060         bool InitHay1_DZPP_HFAO();
00061 };
00062 
00063 #endif // !defined(HAATOMORBDB)

Generated on Tue Feb 17 02:03:04 2004 for harlem by doxygen 1.3.6